我有一个包含三个列表和一个整数的结构,如下面的代码所示。
struct MainScreenState
{
std::list<char*> sessionId;
std::list<char*> opposingUser;
std::list<char*> currentMove;
int totalScore;
MainScreenState() {
totalScore = 0;
}
};
struct MainScreenState *state;
使用构造函数初始化int是可能的,但是如何初始化列表对象以避免编译器警告“警告C4700:未初始化的局部变量'state'”。
答案 0 :(得分:2)
std::list
个成员会自动初始化。问题在于变量state
,它是未初始化的。
MainScreenState *state = NULL; //struct keyword not necessary in C++
或(按要求)
MainScreenState *state = new MainScreenState;
或者更喜欢使用自动存储变量或智能指针。