为什么老是提示:未声明的标识符a,b,望c语言大神指教
它们通常来自忘记包含包含函数声明的头文件,例如,此程序将给出“未声明的标识符”错误:
例如:缺少标题
int main() { std::cout << "Hello world!" << std::endl; return 0;}
要修复它,我们必须包含标题:
#include int main() { std::cout << "Hello world!" << std::endl; return 0;}
如果您编写了标题并正确包含它,标题可能包含错误的包含保护。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa229215(v=vs.60).aspx。
扩展资料拼写错误的变量
当拼错变量时,会出现另一个常见的初学者错误:
intmain(){intaComplicatedName;AComplicatedName=1;/*mindtheuppercaseA*/return0;}
范围不正确
例如,此代码会出错,因为您需要使用std::string:
#include int main() { std::string s1 = "Hello"; // Correct. string s2 = "world"; // WRONG - would give error.}
申报前使用
voidf(){g();}voidg(){}
g在首次使用之前尚未申报。要修复它,要么移动g之前的定义f:
voidg(){}voidf(){g();}
或者在g之前添加声明f:
voidg();//declarationvoidf(){g();}voidg(){}//definition
头文件math.h中宏定义的是M_PI
#define M_PI 3.14159265358979323846
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
也叫热核反应)。原子弹和目前人类制造
a 和b是main里面的, 没有传到print中. 所以出错.
这个最好的做法是,
#include<stdio.h>
int Add(int a, int b);
void Print(int x,int y);
void main()
{
int a,b,y;
printf("输入两个整数:");
scanf("%d%d",&a,&b);
printf("输入计算结果:");
scanf("%d",&y);
Print(Add(a,b),y);
}
int Add(int a,int b)
{
int c;
c=a+b;
return c;
}
void Print(int x, int y)
{
if (y!=x)
printf("not correct!Try again!");
else
printf("right");
}
//修改了下你的代码,现在没有问题了
#include<stdio.h>
int Add(int a, int b);
//void Print(int x);
void Print(int x,int a,int b); //函数原型声明
void main()
{
int a,b,y;
printf("输入两个整数:");
scanf("%d%d",&a,&b);
printf("输入计算结果:");
scanf("%d",&y);
//Print(y);
Print(y,a,b); //函数调用
}
int Add(int a,int b)
{
int c;
c=a+b;
return c;
}
//void Print(int x)
void Print(int x,int a,int b) //这样定义Print()函数
{
int z;
z=Add(a,b); //这里是在Print()函数内部,你没有声明变量a,b啊,
if (z!=x)
printf("not correct!Try again!");
else
printf("right");
}
你定义的a, b是在主函数里定义的,它两的作用域仅限主函数里使用,而Print()函数出现了a, b却并没有定义
解决方式是把声明函数改成void Print(int a, int b, int x);
把调用函数改成 Print(a, b, y);
把定义函数改成void Print(int a, int b, int x){...}
win7电脑没有声音,老是提示“未插入扬声器或耳机”怎么办
这种情况一般是声卡驱动没有安装好 导致无法识别声音硬件
电脑没声音,提示未插入扬声器或耳机
解决办法:1.开始---运行---services.msc---在"名称"找到 "Windows Audio"---鼠标左键选中它---单击鼠标右键---选择 "属性"---常规---启动类型---自动.2.检查声卡、连接线,以及音箱等设备是否连接正常。如果是中了病毒,就应该运行杀毒软件进行全面杀毒。3.打开控制面板---添加新硬件---下...
电脑没有声音怎么回事提示是未安装任何音频设备,可是驱动提示正常。
卸载驱动,重新安装驱动试试,不知道是不是因为驱动不兼容的问题
windows7无声音,提示扬声器、耳机未插入
点击右下角的“显示隐藏图标中”的向上箭头--点击realtek高清音频管理器--弹出realtek高清晰音频管理器的对话框--点击右上侧的文件夹图标(插孔设置)--勾上“禁用前面板插孔检测”--确定。这样就可以听到声音了。
电脑没有声音,右下角喇叭一个小红叉,提示未安装任何音频设备,多种方法...
电脑没有声音,排除故障的办法根据个人的经验总结以下几点:1、检查有没有安装声卡驱动,新买的电脑或是电脑重装之后就得重新安装声卡驱动,这种情况,下载安装就可以了。打开腾讯电脑管家,在工具箱找到硬件检测,选择驱动安装按提示进行安装就可以了。2、已经装了驱动,检查下稳中有统一线路有没有连接正常...
电脑声音提示未安装任何音频设备,用驱动软件重装了几遍都没有用?_百度...
解决办法如下:1、 电脑提示未安装任何音频输出设备,出现这个提示的原因有两种情况,第一种情况是你电脑的声卡驱动没有安装好,第二种原因就是你的电脑没有连接声音输出设备,比如音箱、耳机等等。2、首先说的一种情况就是你的电脑,没有声卡驱动。有时候你刚买来的电脑,或者是系统刚重装完的电脑声卡...
笔记本没声音提示未插入扬声器或耳机
您好下面的几个情况您可以参考Dell电脑的驱动建议最好到戴尔官网进行驱动下载,地址如下,请根据自己的电脑型号及系统进行下载安装http:\/\/www.dell.com\/support\/drivers\/cn\/zh\/cnbsd1\/DriversHome\/?c=cn&s=bsd&cs=cnbsd1&l=zh
电脑声音喇叭提示:未安装任何音频输出设备,如何解决?
重新启动电脑看看可以恢复好不?如果还是这个问题,进入设备管理器将声卡驱动卸载再重新安装
为什么我的声卡老是突然间没声音,等重启电脑后又恢复了?
可能跟某个软件有冲突吧,像楼上说的,驱动重装下先吧,你可以去网上下个驱动精灵或者驱动人生,傻瓜式的,安装好后照提示做就好了!如果还是不行的话把主板放电一下看看~~
我的win7系统没有声音提示未安装任何音频输入设备怎么弄
检测步骤如下:1、点击开始,点击运行,输入devmgmt.msc,点击确定;2、双击展开声音、视频和游戏控制器,查看其下是否有被禁用设备或未安装驱动设备,如果被启用右击可启用,如果未安装驱动,可以利用驱动精灵等软件自动搜索下载驱动;3、如果此处无声卡设备,计算机采用的是集成显卡,那么重启进入bios,恢复...
刘河乐喜: a 和b是main里面的, 没有传到print中. 所以出错. 这个最好的做法是,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25#include<stdio.h> intAdd(inta, intb); voidPrint(intx,inty); voidmain() { inta,b,y; printf("输入两个整数:")...
惠济区17293119953: 为什么总提示未声明的标识符 - ?
刘河乐喜: 因为 y 确实没有声明.y=7; 这行是赋值语句.与 int x=7; 这句不同, int x=7; 实际上可以看作两条语句: int x; //变量声明x=7; //变量初始化因此,你可以在int x=7; 下面再加一条: int y;
惠济区17293119953: 运行程序时老是说未声明标识符,这是为什么呀,明明声明过啦~~ - ?
刘河乐喜: 把Rectangle这个类,分解成Rectangle.h 跟 Rectangle.cpp,然后在main函数中创建对象并调用,也不行?
惠济区17293119953: 明明定义了,可是为什么运行却有错误提示说是未声明的标识符呢?
刘河乐喜: 没见到工程,简单推测一下:1,引用resource.h,或者引用位置不对?2,工程附件包含目录的路径下没有resource.h文件.3,工程所在文件夹下存在resource.h文件,但其中没有资源ID的定义.4,概率极低的莫名的不通过,删除资源重新添加解决.
惠济区17293119953: 怎么老是出现未声明的标示符? - ?
刘河乐喜: Time::Time(int h,int m,int s) //构造函数,给hour,minute,sec赋初值 这一行的两个冒号你写成了中文全角的,,,改成英文半角就行了.
惠济区17293119953: 提示我标示符未声明怎么回事 - ?
刘河乐喜: 你这里好多错误啊,#include<stdio.h> void swap(int *x,int *y); int main() { int a,b; scanf("%d %d",&a,&b); swap(&a,&b); printf("%d %d\n",a,b); return 0; } void swap(int *x,int* y) { int T; T=*x; *x=*y; *y=T; }
惠济区17293119953: c语言:程序编译(或生成)时发现语法错误“未声明的标识符”,怎么解决? - ?
刘河乐喜: 层层大括号与后边的分号,层层检查,有不配对的,通常习惯性写程度,第一层都要留下标,说明是那一些的头,那一层的尾,将来修改程序量方便,也就是结构化模块构思,一种行为习惯与方式.
惠济区17293119953: 为什么一直提示我:"未声明的标识符"?
刘河乐喜: C和C++是大小写敏感的,你的max和Max由于大小写不一致,会被编译器认为是两个不同的变量
惠济区17293119953: 新人请教一个函数问题,为什么会提示未定义标识符 - ?
刘河乐喜: 如果是你自己写的函数,最好在主文件前声明一下.就是如void initgraph(); 如果你自己写了initgraph函数的话,错误就发生在函数的引用上,你应该在用之前声明他,就算你包括了他的头文件,也必须在用之前声明他. 还有一种方法 就是在你声明initgraph函数的文件里,在他前面加上extern这样就没问题了.
惠济区17293119953: 错误提示未声明的标识符 - ?
刘河乐喜: 在#include 下一行加上using namespace std;