我有两个类,一个叫Handler
,另一个叫Dice
。在我的Handler
类中,我有一个名为Dice **dices
的私有变量和一个名为rollDices
的公共函数。在我的Dice
类中,我有一个叫做折腾的函数,它会随机化一个数字1-6。问题是,当功能rollDices
正在调用功能折腾时,我得到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
}
如果你需要更多的代码,我可以将它张贴,只是告诉我!
与你的问题没有关系,但“骰子”实际上是“死”的复数; “骰子”不正确。 –
哈哈对不起,英文不太好! – pottsork
“骰子”是“骰子”的复数这一事实,即使是母语为英语的人也很容易错过。另一个有趣的事实:“歌剧”是“作品”的复数。 –