clang だともう少し分かりやすいエラーを表示してくれる。
% cat enum.cpp
enum Color
{
green,
yellow,
red,
};
Color c = Color::green;
こちらが clang でのエラー。
% c++ -std=c++03 -c enum.cpp -o a.out
enum.cpp:8:11: warning: use of enumeration in a nested name specifier is
a C++11 extension [-Wc++11-extensions]
Color c = Color::green;
% c++ -std=c++11 -c enum.cpp -o a.out
C++11 に変えるとコンパイルできる。
clang だともう少し分かりやすいエラーを表示してくれる。
代入の右辺値から Color を落してもコンパイルする。
% cat enum.cpp
enum Color
{
green,
yellow,
red,
};
Color c = green;
% c++ -std=c++03 -c enum.cpp -o a.out
%
セコメントをする