我最近遇到了这样的情况:
class A
{
public:
typedef struct/class {…} B;
…
C::D *someField;
}
class C
{
public:
typedef struct/class {…} D;
…
A::B *someField;
}
通常你可以声明一个类名:
class A;
但是你不能前向声明一个嵌套类型,下面会导致编译错误。
class C::D;
有什么想法吗?
最佳答案
你做不到,这是C++语言的一个漏洞。您必须取消嵌套至少一个嵌套类。
关于c++ - C++ 中嵌套类型/类的前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818744/