从其他类的成员函数返回ENUM(在一个类中定义)

时间:2014-05-10 02:57:08

标签: c++ enums

我有这段代码

#include <iostream>
class A;

using namespace std;


class C {
    A::B fun(){
    }
};

class A{
    public:
    enum B {b1};
};


int main()
{

}

此代码给我一个错误main.cpp:8:5: error: ‘B’ in ‘class A’ does not name a type

有人知道如何在不将A::B移至顶部的情况下返回A吗?

1 个答案:

答案 0 :(得分:1)

有没有人知道如何在不将A移到顶部的情况下返回A :: B?

A 这是不可能的。

A的前瞻声明并未提供A内部内容的任何详细信息。因此,A::B中的class C不是已知类型。

要在A::B中使用class C,您必须在class A的定义开始之前添加class C的完整定义。