错误描述:
在已有的工程中 添加了 一些h文件和cpp文件,其中一个头文件a.h include 一个厂商提供的SDK头文件,生成,提示:
error C2143: 语法错误 : 缺少“;”(在“{”的前面)
error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
和一大堆语法错误,奇怪的是这些语法错误居然出现在厂商的头文件里,怎么可能!!!我以前用都木有问题。
我的查错方法:
1,重写包含a.h的文件myh1.h,确保没有少写;之类的东西,错误依旧在;
2,删除myh1.h中的代码,只保留#include那一部分,错误依旧在;
3,新建一个MFC测试工程,添加几个头文件和app文件,代码结构模仿原来的工程,生成,错误全跑到 厂商的头文件里去了,进去查看,发现在 函数声明的地方 出现很多 语法错误。这些函数都是带有一个回调函数指针的参数。我在其中一个头文件中 加上 #include "afxwin.h",生成,通过。
4,大喜,以为找到解决办法,在原来的工程中添加上述头文件,生成,提示:
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
5,发帖,求大神指点