//in header file(in User class):
int howManyOpponents =0;
User** userArray; //(which is initialized to userArray = new User*[5] in the constructor)
//in class file:
void User::addWin(User* aUser)
{
userArray[howManyOpponents] =aUser;
howManyOpponents++;
}
//in main file
int maximumUser = 20;
User* userList[maximumUser];
(*userList[i]).addWin(userList[j]);
代码时钟停止工作,我已将问题追溯到User :: addWin并尝试了许多不同的引用或指向设置,但无法处理。可能有一个简单的错误。
谢谢。
最佳答案
User* userList[maximumUser];
创建
maximumUser
User
指针的数组。没有构造User
的实际实例。然后,您尝试使用以下未初始化的指针之一调用方法,从而导致崩溃:
(*userList[i]).addWin(userList[j]);
要修复,请创建一个实际的
User
实例数组(假定User
的构造函数不需要参数):User userList[maximumUser];
userList[i].addWin(userList[j]);
关于c++ - 代码块c++停止工作可能是由于引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41451452/