这篇文章主要介绍了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”这个文件引入到项目中才导致错误的。