C/C++实战009:解决errorC2065未声明的标识符
今天编译程序的时候出现一个奇怪的错误,全是******未声明的标识符错误,程序是在VS2012下调试的,用的是之前在别的电脑写好的程序,也编译通过了,只是现在拿过来对程序进行了一些小的修改而已。
操作方法
- 01
通常在定义某个类型的变量时我们都需要引入相应的头文件,系统才能别该标识符,比如说我们要定义个string类型的变量,那么我们就要引入头文件和空间名才能使用string标识符:
- 02
而这里我也将该引入的头文件都引入 了程序当中,可是问什么就是无法识别 相应的标识符呢?
- 03
在警告栏发现头文件信息并没有被识别,而是被系统在查找预编译头使用时跳过了,因为如果在.cpp中未引入相关.h文件出现这样的错误很正常,但是现在是已经引入了相关的头文件,却还是出现了error C2065、error C3861、error C2228...的错误。
- 04
也就是说头文件在这里并没有生效,而是被直接跳过了,自然其对应的标识符也会无法识别的。然后我把#include "stdafx.h" 头文件移到最上面在尝试调试,结果竟然不在报未声明的标识符错误了,直接编译成功了。
- 05
这里还有个错误提示,当遇到无法解析外部符号时我们要查看下我们引用的文件可能不全,这里我就是没把“Fwlib32.lib”这个文件引入到项目中才导致错误的(将这个文件添加到项目目录中在引入项目即可)。
- 06
这次做个记录,以后就知道了,原来引入头文件还是有顺序之分的,不能随意的放置头文件,位置也要放正确,不然又莫名其妙的报错了。
赞 (0)