我有一个Game
类和一个struct NamedGame
类。 NamedGame
具有两个成员变量,如下所示:
struct NamedGame {
Game game;
std::string name;
};
然后我有一个
vector
和NamedGames
:std::vector<NamedGame> games;
指针应指向当前 Activity 的游戏:
Game *currentGame;
现在,当我尝试指向 vector
NamedGame
中的最后一个games
时,如下所示: *currentGame = games.back().game;
这会导致分段错误。我在做什么错,为什么错了?我真的很感谢所有帮助!
#include <vector>
#include <string>
struct Game {};
struct NamedGame {
Game game;
std::string name;
};
int main() {
std::vector<NamedGame> games;
Game *currentGame;
*currentGame = games.back().game;
}
最佳答案
在这里,您尝试引用未初始化的指针currentGame
:
*currentGame = games.back().game;
您必须将此行更改为:
currentGame = &(games.back().game);