我最近陷入这样的情况:
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;
有任何想法吗?
6
你为什么需要那个?请注意,如果它是所定义的同一类的成员,则可以向前声明:class X {class Y; Y * a; }; X :: Y {}类;
—
Johannes Schaub-litb
该解决方案为我工作空间(namespace 13C {d级;};):stackoverflow.com/questions/22389784/...
—
阿尔伯特Wiersch