gpt4 book ai didi

c++ - 从匿名结构访问枚举条目

转载 作者:行者123 更新时间:2023-11-27 22:45:08 25 4
gpt4 key购买 nike

我有这样的代码:

struct
{
enum
{
entry,
} en;

} data;

void foo()
{
switch(data.en)
{
}
}

这给了我一个警告:

main.cpp:13:11: warning: enumeration value 'entry' not handled in switch [-Wswitch]

switch(data.en)

这是预期的。我很好奇我是否可以添加 case entry: 而无需将我的结构命名为 one(这显然有效)。

这个:

struct
{
enum
{
entry,
} en;

} data;

void foo()
{
switch(data.en)
{
case entry:
break;
}
}

给出错误+警告:

main.cpp: In function 'void foo()':

main.cpp:15:14: error: 'entry' was not declared in this scope

case entry:

^~~~~

main.cpp:13:11: warning: enumeration value 'entry' not handled in switch [-Wswitch]

switch(data.en)

^

最佳答案

可以写:

case decltype(data.en)::entry:

但是我认为它不会被认为是好的代码。

关于c++ - 从匿名结构访问枚举条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43989471/

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