2

我在 Ubuntu 12.04 上使用 g++ 作为编译器,我在尝试使用 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' 不是类或命名空间

我希望有人能帮帮我,我到处寻找类似的问题,但无济于事。

4

1 回答 1

2

enum class除非您使用在 2011 年修订版中引入 C++的枚举名称,否则枚举名称将被注入到封闭的命名空间中。如果您使用 plain enum,您只需使用封闭范围限定名称:

gcn::Graphics::CENTER
于 2013-11-10T00:40:24.277 回答