我正在做一个项目,我必须使用名为numberOfMatches
的私有int。
这是 player.h 中的Player类中的代码:
int getnumberOfMatches(){ return numberOfMatches; }
void setnumberOfMatches(int numb){ numberOfMatches = numb; }
private:
int numberOfMatches;
当我尝试在numberOfMatches
上设置数字时,其值不会改变。
int amount = 10;
Player* team = new Player(amount);
for (int x = 0; x < 10; x++)
{
int matches = x;
team[x].setnumberOfMatches(matches);
}
但如果我使用team[0].setNumberOfMatches(matches);
,则会更改该值。
当我添加断点时,我看到在团队[x]的情况下,它说:
"<Unable to read memory>" on numberOfMatches.
使用team[0].set()
时不是这种情况。
任何人都知道可能出现的问题?
答案 0 :(得分:1)
此代码
Player* team = new Player(amount);
分配一个播放器对象。
此代码访问从未分配的Player对象(当x大于零时):
for (int x = 0; x < 10; x++)
{
int matches = x;
team[x].setnumberOfMatches(matches);
}