首页 / 科技百科 / 正文

C2146语法错误

时间:2024-12-02 03:01:36

error C2146:语法错误:缺少“)(在标识符“)的前面) 

error C2146: 语法错误: 缺少“;”(在标识符“******”的前面)这个问题可能由以下原因导致:

1. 头文件互相包含:如果存在两个类的头文件,其中一个类包含了另一个类的头文件且这两个类中的某一个类又使用了另一个类的对象,可能会导致这个错误。解决办法是在使用类的指针时,可以在CPP文件中包含类的头文件,而非在头文件中。

2. 没有包含要定义的头文件:如果没有包含需要定义的头文件,也可能会导致这个错误。解决办法是在GoodGay类之前先声明一下,如:class Building。

3. 编译器设置问题:例如,属性=》配置属性=》高级=》编译为=》编译为 C++ 代码(/TP) /D_WIN32_WINNT=-0x0400 去掉,可能会解决这个问题。

需要注意的是,头文件包含其实是一件很烦琐的工作,不但我们看着累,编译器编译的时候也很累,再加上头文件中常常出现的宏定义。感觉各种宏定义的展开是非常耗时间的,远不如自定义函数来得速度。因此,如果可以不包含头文件,那就不要包含了。这时候前置声明可以解决问题。

《C2146语法错误》不代表本网站观点,如有侵权请联系我们删除

点击排行

成长网提供支持 骄阳网版权所有网站地图 网站地图2 主办单位:广州小漏斗信息技术有限公司 粤ICP备20006251号

联系我们 关于我们 版权申明