文件嵌套包含经典错误

: error C2143: 语法错误 : 缺少“;”(在“*”的前面)
: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
: error C2143: 语法错误 : 缺少“;”(在“*”的前面)
: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

 

 

举例说明:

//a.h

class a

{

public:

a(){}

~a(){}

void dosomething();

public:

b m_gg;

};

 

//a.cpp

#include "a.h"

void a::dosomething()

{}

 

//b.h

class b

{

b(){}

~b(){}

void dosomething();

public:

a m_mm;

 

};

 

//b.cpp

#include "b.h"

void b::dosomething()

{}

 

//下面是解决办法:

//a.h

#include "b.h"

class a

{

public:

a(){}

~a(){}

void dosomething();

public:

b m_gg;

};

 

//a.cpp

#include "a.h"

void a::dosomething()

{}

 

//b.h

class a;

class b

{

b(){}

~b(){}

void dosomething();

public:

a m_mm;

 

};

 

//b.cpp

#include "a.h"//注意这里,要加在#include "b.h"前面才行

#include "b.h"

void b::dosomething()

{}

你可能感兴趣的:(c,Class)