莫名奇怪的错误,缺少分号,缺少函数标题

a_mu_lol 2013-08-29 03:12:48
错误描述:
在已有的工程中 添加了 一些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,发帖,求大神指点

...全文
458 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
a_mu_lol 2013-09-06
  • 打赏
  • 举报
回复
哎,上面几位都不怎么看我的帖子。。。。
赵4老师 2013-08-29
  • 打赏
  • 举报
回复
引用 6 楼 a_mu_lol 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:] 偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
我把文件里的主体都删了,只留下一个#include "a.h"和#pragma once之类的东东,还有错, 肯定不能去修改厂商的头文件,但我自己添加的文件已经没什么可以调试的了!!![/quote] 在a.h文件中: “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
a_mu_lol 2013-08-29
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
我的测试工程也是个MFC工程,添加afxwin之后不再报错,但实际工程添加该头文件后就提示已包含。。。 这不死机了么
a_mu_lol 2013-08-29
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
我把文件里的主体都删了,只留下一个#include "a.h"和#pragma once之类的东东,还有错, 肯定不能去修改厂商的头文件,但我自己添加的文件已经没什么可以调试的了!!!
天台的故事 2013-08-29
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的
赵4老师 2013-08-29
  • 打赏
  • 举报
回复
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
赵4老师 2013-08-29
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
a_mu_lol 2013-08-29
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
头文件加这了么? 库头文件重复加应该没有问题的吧!

#ifndef __xxx_H_
#define __xxx_H_
// 
#endif
这点检查了
max_min_ 2013-08-29
  • 打赏
  • 举报
回复
头文件加这了么? 库头文件重复加应该没有问题的吧!

#ifndef __xxx_H_
#define __xxx_H_
// 
#endif

64,632

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧