gpt4 book ai didi

c++ - 无法使用 static_cast 将枚举类转换为 int

转载 作者:太空狗 更新时间:2023-10-29 21:44:11 26 4
gpt4 key购买 nike

enum class TestEnum : int
{
first,
second
};

int main()
{
int n = static_cast<int>(TestEnum::second); // error
return 0;
}

构建日志:

g++ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++0x -MMD -MP -MF"src/test.d" -MT"src/test.d" -o "src/test.o" "../src/test.cpp"
../src/test.cpp: In function ‘int main()’:
../src/test.cpp:20:20: error: cannot convert ‘TestEnum’ to ‘int’ in initialization

海湾合作委员会版本 4.6.3

如何将 enum class 实例转换为 int

最佳答案

您正在尝试使用 -std=c++0x 键编译您的代码。但是强类型枚举enum class是C++11的特性,所以你最好使用更新的GCC编译器。 GCC 4.7 或更高版本是合适的,它有 -std=c++11 命令行键:http://gcc.gnu.org/projects/cxx0x.html

此代码有效:http://ideone.com/4IQPUx

关于c++ - 无法使用 static_cast 将枚举类转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20773898/

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