gpt4 book ai didi

c++ - 访问位于命名空间内的类内的枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:47:45 26 4
gpt4 key购买 nike

我在 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;

我收到的错误是:

error: ‘gcn::Graphics::Alignment’ is not a class or namespace

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

最佳答案

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

gcn::Graphics::CENTER

关于c++ - 访问位于命名空间内的类内的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com