首页 > 编程语言 > 详细

MFC error C2143: 语法错误 : 缺少“;”(在“*”的前面)

时间:2020-12-07 09:47:42      阅读:96      评论:0      收藏:0      [点我收藏+]

MFC error C2143: 语法错误 : 缺少“;”(在“*”的前面)

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

 

出现问题原因:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就会报这样的错误,如下:

//a.h  
#include "b.h"  
class A  
{  
....  
private:  
    B b;  
};
//b.h  
#include "a.h"  
class B  
{  
....  
private:  
    A a;  
};

一编译,就出现了一个互包含的问题了。

解决办法:此时用到类的前置声明,问题就解决了,如下:

//a.h   
//#include "b.h"  
class B;   
class A   
{  
 ....   
private:  
 B b;   
}; 
//b.h   
#include "a.h"   
class B  
{  
 ....   
private:  
 A a;   
};

 

 

MFC error C2143: 语法错误 : 缺少“;”(在“*”的前面)

原文:https://www.cnblogs.com/zwj-199306231519/p/14095047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!