C++ undeclared identifier问题

在一个头文件中声明了变量 在引用头文件的情况下在另一个文件中调用变量时出现undeclared identifier

第1个回答  2013-09-22

    查看头文件里是否有预编译分支,那个变量声明会不会只在其中一个分支中。

    查看是否有同名的头文件存在而导致加载了错误的同名头文件。

    头文件里加上extern "C"试试。

第2个回答  推荐于2018-05-06
引用其他文件里变量时.用 extern 关键字。
比如 在一个文件定义 int a;
在另一个文件,包括了上个文件,然后用 extern int a;本回答被网友采纳
第3个回答  2013-09-22
那么在第一个文件中你声明的是否是全局变量,或者是类的成员变量?
第一种的话,可检查是否有Static关键字限制,有的话去掉。
第二种,需要先声明类的对象,然后调用对象名.成员变量名即可。
可追问。追问

我的变量是定义的枚举型的变量

追答

枚举的话,只要没有小错就可以啊!如下图:

包含各个头文件以及编译结果;

工程为TEST;

???没问题了吧

追问

还是不行的,谢谢你

追答

好吧,无图无真相

c++中undeclared identifier是什么意思?
C++中“undeclared identifier”意思是有一个标识符没有声明。错误的原因:1、可能是需要导入某个头文件;2、变量没有定义。如没有声明的变量,函数,类型,却在使用;

undeclared identifier怎么解决
include<iostream> using namespace std;int main(){int bb=5;cout<<"bb="<<b<<endl; \/\/上面并没有声明“b”这个变量。return 0;} 可以看看在undeclared identifier前面有没有什么字母,比如上面那个例子的话它就会提示“b”undeclared identifier。C++是C语言的继承,它既可以进行C语言的过程化程...

C++ undeclared identifier问题
引用其他文件里变量时.用 extern 关键字。比如 在一个文件定义 int a;在另一个文件,包括了上个文件,然后用 extern int a;

C++中的undeclared identifier
include "stdio.h" void main( ) { double a,b,c,s,v; printf("Input a,b,c:"); \/\/这里少了引号 scanf("%d%d%d", &a,&b,&c); \/\/这里少了& s=a*b; v=a*b*c; printf("a=%d b=%d c=%d\\n",a,b,c); printf("s=%f\\n",s, "v=%d\\n"...

C++中undeclared identifier问题(未声明问题)
自定义变量或函数忘了先声明后使用。没有include 必要的头文件,以致 库函数或系统变量名 出现此错误。拼写错,大小写错,出现 标识符 未声明问题。花括号配对错,引起变量定义域混乱,出现此错误。此类错误很容易纠正。

c++调试出现undeclared identifier
'SAFE_DELETE_ARRAY' :undeclared identifier 是说SAFE_DELETE_ARRAY这个符号没有定义 你定义一个SAFE_DELETE_ARRAY宏就是了:ifndef SAFE_DELETE_ARRAY define SAFE_DELETE_ARRAY(p) {if(p) {delete[] p; p=NULL;}} endif

c++ 中 undeclared identifier 问题 求解
你打错了。错误如下:Fraction::Fraction(int numner, int denom) \/\/ 这句中numner应该为 numer

C++ undeclared identifier问题
查看头文件里是否有预编译分支,那个变量声明会不会只在其中一个分支中。查看是否有同名的头文件存在而导致加载了错误的同名头文件。头文件里加上extern "C"试试。

C++编程是出现undeclared identifier,请各位大虾帮我看看
include<stdio.h> main(){ int i,sum,m;sum=0; \/\/这个是0,你写成了'欧'printf("please input m:");scanf("%d",&m);for(i=1;i<=m;i++) \/\/i=1后面应该是分号 sum+=i;printf("The sum is:%d\\n",sum);}

c++问题啊'cout' : undeclared identifier
另外建议使用int main而不是void main,使用iostream而不是iostream.h。———补充:我终于明白你的错误来源于那里了,你根本就没有把代码作为C++编译,你作为的是C语言编译!你的代码是保存为C文件的吧?你应该保存为CPP文件才能让VC作为C++对其进行编译,扩展名改成cpp重新编译吧。

相似回答