我在使用g++作为编译器的Ubuntu 12.04上,尝试使用Alignment枚举适当放置我的GUI对象时遇到了问题。这是guichan的graphics.hpp中的相关代码:
...
00053 namespace gcn
00054 {
00055 class Color;
00056 class Font;
00057 class Image;
00058
00094 class GCN_CORE_DECLSPEC Graphics
00095 {
00096 public:
00100 enum Alignment
00101 {
00102 LEFT = 0,
00103 CENTER,
00104 RIGHT
00105 };
...
这是我用来尝试访问CENTER的行。
gcn::Graphics::Alignment _align = gcn::Graphics::Alignment::CENTER;
我收到的错误是:
我希望有人可以帮我,我到处都在寻找类似的问题,但无济于事。
最佳答案
除非使用2011年修订版C++中引入的enum class
,否则枚举名称将注入(inject)到封闭的 namespace 中。如果使用简单的enum
,则只需使用范围限定名称即可:
gcn::Graphics::CENTER