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

时间:2014-09-28 21:08:31

标签: 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;

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

我目前的设置有什么问题吗?我对C ++很陌生,所以我可能会忽略一些简单的东西。

1 个答案:

答案 0 :(得分:2)

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

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