c++ - 使用 C++ 在结构中初始化列表容器对象?

标签 c++ list struct char

我有一个包含三个列表和一个整数的结构,如下面的代码所示。

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’”。

最佳答案

std::list 成员自动初始化。问题出在未初始化的变量 state 上。

MainScreenState *state = NULL; //struct keyword not necessary in C++

或(根据请求)

MainScreenState *state = new MainScreenState;

或者更喜欢使用自动存储变量或智能指针。

关于c++ - 使用 C++ 在结构中初始化列表容器对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11016760/

相关文章:

c++ - 为什么尽管有一个 int vector ,但结构的大小不变

c++ - 当 gcc 中的应用程序在没有 gdb 的情况下崩溃时如何生成堆栈转储和转储寄存器值?

python - 计算字典内嵌套列表中的值的数量

c++ - 错误 LNK2019 : unresolved external symbol Visual Studio 2013 with openCV

c# - 在 List<T> 中查找项目

python - 基于 Python 中项目的深度值创建列表结构

validation - 我可以为结构中的字符串字段设置默认最大长度吗?

c - 访问函数返回的结构元素时遇到问题 - 取消引用指向不完整类型的指针

c++ - Ctrl+c 终止进程,尽管有信号处理,但在不同的机器上工作

c++ - 在成员函数上启动线程时不希望的析构函数调用