相关疑难解决方法(0)

在C++中转发嵌套类型/类的声明

我最近遇到了这样的情况:

class A
{
public:
    typedef struct/class {...} B;
...
    C::D *someField;
}

class C
{
public:
    typedef struct/class {...} D;
...
    A::B *someField;
}
Run Code Online (Sandbox Code Playgroud)

通常你可以声明一个类名:

class A;
Run Code Online (Sandbox Code Playgroud)

但是你不能转发声明一个嵌套类型,以下导致编译错误.

class C::D;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ nested class forward-declaration

189
推荐指数
3
解决办法
5万
查看次数

标签 统计

c++ ×1

class ×1

forward-declaration ×1

nested ×1