【问题标题】:Accessing outside of class's namespace inside class method?在类方法内部访问类的命名空间之外?
【发布时间】:2011-10-11 17:35:52
【问题描述】:

我有一个我正在使用的头资源,它定义了一个名为

的结构
typedef struct { ... } Mii;

现在,在我自己的程序中,我正在编写一个包装类,该类在内部和内部私下使用这个结构来进行自己的操作,所以我将我的类放在我的程序的命名空间中以避免冲突。

namespace CMii {
    class Mii {
        ...
        void doSomething();
    };
}

现在,我可以通过 CMii::Mii 引用我的包装类。现在,在 doSomething 的实现内部:

void CMii::Mii::doSomething() {
    Mii m; 
    ...
}

编译器认为我指的是 CMii::Mii。如何告诉编译器我要使用该结构?

【问题讨论】:

    标签: c++ namespaces struct scope typedef


    【解决方案1】:

    您可以执行以下操作:

    ::Mii m
    

    【讨论】:

    • 谢谢!没有意识到您可以通过这种方式引用顶级命名空间。
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2020-12-12
    • 2012-12-21
    • 2017-11-27
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多