这是我目前的设置:
// 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.cpp
和main.cpp
最终都需要访问它。
我目前的设置有什么问题吗?我对C ++很陌生,所以我可能会忽略一些简单的东西。
答案 0 :(得分:2)
这种类型的enum
声明需要C ++ 11来编译。
我需要在编译时向g ++添加-std=c++11
标志,以确保支持在那里。