你好,我一個項目中遇到了這個問題裏面,我有這樣的事情:(C++)不能引用枚舉類命名空間
types.h中
namespace Machine
{
enum class size{
TINY,
SMALL,
MEDIUM
}
//other stuff.....
,並在另一個文件:
test.h:
#include "types.h"
class sample{
public:
void some_function();
Machine::size s; //this declaration is correct
}
TEST.CPP:
#include "test.h"
void some_function(){
s = Machine::size::TINY;//line aaaa; this line is error
}
在行AAAA我一直得到錯誤信息:
error: 'Machine::size' is not a class or namespace
任何人有任何想法,爲什麼?或者將enum類放在命名空間內不好嗎? 謝謝!
Edit: I fixed the machine spell problem in the first file, sorry about that
機::大小S只是爲了保持這個屬性(一臺機器的大小)的地方,所以我真的不認爲這是一些特別的東西。
在您的第一臺文件機器中是下劃線。是否打算 – Eric
請不要使用接受的答案解決您的問題。任何後來閱讀這篇文章的人都會感到困惑。我回到了以前的修訂版,以便問題和答案有意義。 – paddy