Contents

【转】原创作品,允许转载。转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
http://blog.sina.com.cn/s/blog_8216ada701017evx.html

在VS2010下进行VC++调试时,出现这样一种错误:error C2065:未声明的标识符,当时感觉十分怪异,为什么说怪异呢?因为如果在.cpp中未引入相关.h文件出现这样的错误很正常,但是现在是已经引入了相关的头文件,却还是出现了诸如error C2065、error C2087、error C2133…的错误。

情况是这样的,新建了一个工程项目,想使用其他工程中定义的同一组.cpp/.h文件,完全copy文件中的代码,可是在新建的工程中却提示了上述错误,却在其原先的工程中未出现错误,同一台机器出现了这样的错误,当时想到的是这两个工程项目的属性配置不同,所以就使新的工程项目的属性改变为原先的工程项目属性,但是仍然出现这样的错误,在网上搜寻这方面的资料,大部分都介绍是未引入相关的头文件,毕竟错误提示是:未声明的标识符,但是那样改来改去未解决问题。

最终解决办法是修改了一下其头文件的顺序,原先copy时“#include “StdAfx.h””在几个头文件的最后位置,将其提前到最前位置,问题得到解决。原来不仅要引入相关的头文件,其位置也要放正确。当然预编译头文件应该放在最前位置吧,不过在原先的工程中放在最后却没有错误,怪哉。

Contents