test.ccをg++ test.cc --std=c++14
でコンパイルしようとしたときに、次のエラーが発生しました。列挙型スコープ解決演算子
test.cc:5:26: error: expected unqualified-id before numeric constant
Colour colour = Colour::None;
test.cc
#include "state.h"
#include <X11/X.h>
int main(){
Colour colour = Colour::None;
}
state.h
enum class Colour { None, Black, White };
そして私は#include <X11/X.h>
により、None
が何気に一定の
#define None 0L /* universal null resource or null atom */
として定義されていることがわかります私は既に参照しているNone
を指定するためにスコープ解決演算子、つまりColour::None
を使用しましたが、エラーはまだ発生しています。
プリプロセッサはスコープを気にしません。マクロはマクロです。 – melpomene