我使用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;
我收到的错误是:
错误:'gcn :: Graphics :: Alignment'不是类或命名空间
我希望有人可以帮助我,我到处寻找类似的问题,但无济于事。
答案 0 :(得分:2)
枚举名称被注入到封闭的命名空间中,除非您使用在2011年版本的C ++中引入的enum class
。如果使用普通enum
,则只需使用封闭范围限定名称:
gcn::Graphics::CENTER