我有兩個類,一個叫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
「骰子」是「骰子」的複數這一事實,即使是母語爲英語的人也很容易錯過。另一個有趣的事實:「歌劇」是「作品」的複數。 –