这篇文章主要介绍了c++中出现未定义标识符错误怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
vscode写c时,在#ifdef#endif之间定义的变量,引用时可以跳转到定义,但是会提示“未定义标识符“的错误。
c++中总是出现未定义标识符的错误提示?
源码
#include"stdafx.h"
#include"vpn.h"
#include"vpnDlg.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#endif
//CvpnApp
intBEGIN_MESSAGE_MAP(CvpnApp,CWinApp)
ON_COMMAND(ID_HELP,&CWinApp::OnHelp)
END_MESSAGE_MAP()
//CvpnApp构造
CvpnApp::CvpnApp()
{
//支持重新启动管理器
m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_RESTART;
//TODO:在此处添加构造代码,
c++未定义标识符错误怎么办?
1、通常在定义某个类型的变量时我们都需要引入相应的头文件,系统才能别该标识符。
2、在警告栏发现头文件信息并没有被识别,而是被系统在查找预编译头使用时跳过了,因为如果在.cpp中未引入相关.h文件出现这样的错误很正常,但是现在是已经引入了相关的头文件,却还是出现了errorC2065、errorC3861、errorC2228…的错误。
3、也就是说头文件在这里并没有生效,而是被直接跳过了,自然其对应的标识符也会无法识别的。然后我把#include"stdafx.h" 头文件移到最上面在尝试调试,结果竟然不在报未声明的标识符错误了,直接编译成功了。
4、这里还有个错误提示,当遇到无法解析外部符号时我们要查看下我们引用的文件可能不全,这里我就是没把“Fwlib32.lib”这个文件引入到项目中才导致错误的。
最新评论