У меня есть два класса, один из которых называется Handler
, а один - Dice
. В моем классе Handler
у меня есть личная переменная с именем Dice **dices
и публичная функция, называемая rollDices
. И в моем классе Dice
у меня есть функция под названием toss, которая будет рандомизировать число 1-6. Проблема заключается в том, что когда функция rollDices
вызывает функцию toss, я получаю EXT_BAD_ACCESS
в функции toss
. Кто-нибудь знает, почему, и есть решение для этого?Указатель на указатель получает EXC_BAD_ACCESS при вызове функции
Мои Handler.cpp:
void Handler::rollDices(){
Dice **allDices = new Dice*[this->nrOfDices];
this->dices = allDices;
dices[nrOfDices]= new Dice(nrOfDices);
int count =1;
for (int i = 0; i < this->nrOfDices; i++)
{
allDices[i]->toss();
cout << "Dice "<< count << ": " << allDices[i]->getValue() << endl;
count ++;
}
}
Мои Dice.cpp:
void Dice::toss(){
this->value = rand()%this->nrOfSides+1; //Value is a private int in Dice class
}
Если вам нужно больше кода я могу разместить его, просто скажите мне!
Не связано с вашей проблемой, но «кубик» на самом деле является множественным числом «die»; «кубики» неверны. –
ха-ха извините, не так хорошо на английском! – pottsork
Тот факт, что «кости» - это множественное число «кости», является одной из тех вещей, которые даже простые носители английского языка могут легко пропустить. Еще один забавный факт: «опера» - это множественное число «опус». –