当班级error: 'func' does not name a type
的成员函数func
尝试返回班级B
时,我获得了C
:
class A {
public:
class B {
public:
C func() const {
...
}
private:
friend class A;
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
然而,如果func
是A的成员函数,那么以下内容不会产生此错误:
class A {
public:
class B {
public:
...
private:
friend class A;
}
C func() const {
...
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
如何修复它以使第一个版本有效?
我找到了一个很好的例子here。
答案 0 :(得分:8)
将“C”定义为“B类之上”,或者向前声明它。