gpt4 book ai didi

c++ - 在 header 中初始化枚举变量

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:13 26 4
gpt4 key购买 nike

我正在创建一个新枚举:

enum WState {SLEEPING=2, WAITING_FOR_DATA=3, SENDING=4, IDLE=5, ERROR=6};

然后我试图立即将该枚举类型的变量初始化为默认状态。

WState CurrentState = WState::ERROR;

我无法找出正确的语法,或者在搜索答案时可能遗漏了一些重要的关键字。它说:

data member initializer not allowed

enter image description here

最佳答案

在 C++11 中,您正在做的事情是允许的。然而,在 C++03 中,您必须在类构造函数中执行初始化(可能在初始化列表中,如下所示):

class Wireless
{
public:
enum WState { /* ... */, ERROR = 6 };
WState CurrentState;
Wireless() : CurrentState(WState::ERROR)
{ /* ... */ }

// ...
};

关于c++ - 在 header 中初始化枚举变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com