c++ - 访问在类外声明的作用域枚举

标签 c++ enums header-files

这是我当前的设置:

// test.h
enum class test_t {ONE, TWO, THREE, FOUR};

// test.cpp
#include "test.h"

// main.cpp
#include "test.h"
test_t thing = test_t::ONE;

但是,当我尝试在 main.cpp 中创建枚举对象时,我得到了error: expected a class or namespace。我在 header 中声明了作用域枚举,因为 test.cppmain.cpp 最终都需要访问它。

我当前的设置有问题吗?我是 C++ 的新手,所以我可能忽略了一些非常简单的事情。

最佳答案

这种类型的enum声明需要C++11来编译。

我需要在编译时向 g++ 添加 -std=c++11 标志以确保支持。

关于c++ - 访问在类外声明的作用域枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089676/

相关文章:

Objective-C 闭包使用 Swift 枚举

c - 由于缺少类型,构建 uclibc linux 3.10-2 (Debian jessie x86_64) 失败

c++ - 为什么这段代码可以工作

c++ - Google Sparsehash 在不可平凡复制的类型上使用 realloc()

c++ - 为什么以下代码会使我的计算机发出蜂鸣声?

c - #undef 在我的 C 程序中没有按预期工作

c++ - 检索头文件中定义的结构列表

python - 通过嵌入式 Python 调用 C++ 代码

objective-c - Objective-C 中的枚举定义形式

enums - raku 类型枚举不适用于自定义类型