error C2027:use of undefined type 'A' see declaration of 'A
问题描述:
error C2027:use of undefined type 'A' see declaration of 'A
#include
using namespace std;
class A;
class B
{
public :
B(A * a){
a->c = 5;
}
};
class A
{
public:
int c;
void set()
{
B b(this);
cout
答
你在定义类B之前,只是声明了类A,这个声明是前向声明,在类A声明之后,定义之前,类A 是不完整类型,即已知A是一个类型,但不知道包含哪些成员.
对于不完整类型,只能定义一个A类型的指针或引用,且不能访问它的成员,因为编译器只知道有类A存在而不知道类A到底是什么.不能访问,定义这个指针有什么意义呢?定义这个指针,可以再定义A之后,访问