有一个类数组。我想输入玩家的数量,然后使用for
-循环输入玩家的名字。问题是我不明白如何使用cin.ignore()
来避免程序崩溃。
void main() {
int numberOfPlayers;
cout << "Input amount of players:";
getline(cin, numberOfPlayers);
Player** arrOfPlayers = new Player*[numberOfPlayers];
string newName;
for (int i = 0; i < numberOfPlayers; i++) {
cout << "nInput player " << i + 1 << " nickname: ";
getline(cin, newName);
arrOfPlayers[i]->setName(newName);
}
}
您尚未分配单个玩家
这个
Player** arrOfPlayers = new Player*[numberOfPlayers];
仅将指针数组分配给玩家
你还需要创建那些玩家
for (int i = 0; i < numberOfPlayers; ++i)
arrOfPlayers[i] = new Player;