C C++错误信息error什么意思
发布时间:2025-05-14 10:36:01 发布人:远客网络
一、C/ C++错误信息error什么意思
这是一条典型的VC/VS的出错信息。
1、error,表示这是一条出错信息。 C语言信息一般有error(出错)和warning(警告)两种。 error是编译器遇到了致命错误,无法继续进行编译,必须修改。 warning是C语言编译器找到了一个可能非法的位置,但不影响编译,程序还能运行,有可能运行出错,也可能不影响。
error必须修改,而部分warning可以不做修改。
2、C2106:这个是VC/VS自行定义的一个错误编号。每种错误编号代表一种错误类型,有着对应的具体提示。
3、'=': left operand must be l-value。这个就是具体的出错信息提示了。也是最有用的一部分。这句表示=的左值必须是可赋值的左值。
出现这一提示,一般是赋值运算(=)左值为表达式。
a++=1;
左值a++为一个表达式。
还有可能是判断==被打错成了=,比如
if(a+b=c)
总之要查对应的赋值运算=左边部分。必须是合法的变量,不能是表达式。
总之要查对应的赋值运算=左边部分。必须是合法的变量,不能是表达式。
可以双击出错讯息,会自动定位到出错行。然后针对出错行代码,检查=的左侧。
二、简单C语言问题 linker error
这种提示是连接错误(Linker error)。
一般可执行程序的过程是:源代码->目标代码(经过编译)->可执行程序(经过连接)。
你的问题就出在最后一步。那么为何出现这样的问题呢?
既然编译通过,说明你的源程序没问题。那么连接出错由什么原因引起的呢?
一般我们写程序不可能每个功能自己写,一些共用的功能(函数)被封装在库中(主要有两个文件:.h和.lib),你上面的错误说明graphics.h是存在的,所以没有编译错误,但是graphics.lib找不到,就不能进行连接。
解决方法:不管你用什么方法找到graphics.lib,复制到你编程环境中的LIB目录中去。
给你一个完整的贪吃蛇程序(要将TC拷贝至C盘下):
/*共有两关,有记时器和记分器;
在游戏过程中,按ESC键退出,按Enter键重新开局;*/
void interrupt(*oldhandler)(__CPPARGS);
void interrupt newhandler(__CPPARGS);
void SetTimer(void interrupt(*IntProc)(__CPPARGS));
{int x;int y;int color;}Snk[12];
int flag1=1,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,
checkx,checky,num,key=0,Times,Score,Hscore,Snkspeed,TimerCounter,TureorFalse;
void interrupt newhandler(__CPPARGS)
void SetTimer(void interrupt(*IntProc)(__CPPARGS))
initgraph(&gd,&gm,"C:\\tc");
outtextxy(100,220,"The First Block");
Time[0]='0';Time[1]='0';Time[2]=':';Time[3]='1';Time[4]='0';Time[5]='\0';
else if(key==ESC) cleardevice();
Snk[0].x=Snk[0].x-Snk[0].x%20+50;
Snk[0].y=Snk[0].y-Snk[0].y%20+50;
case DOWN:Flag(0,1,0,0);break;
case LEFT:Flag(0,0,1,0);break;
case RIGHT:Flag(0,0,0,1);break;
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
Dsnkorfd(Snk[0].x,Snk[0].y,0);
Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);
void Flag(int a,int b,int c,int d)
{flag1=a;flag2=b;flag3=c;flag4=d;}
if(Snk[0].x<20||Snk[0].x>460||Snk[0].y<20||Snk[0].y>460)
outtextxy(160,220,"Game Over");
{if(Snk[0].x==Snk[i].x&&Snk[0].y==Snk[i].y)
outtextxy(160,220,"Game Over");
{Dsnkorfd(checkx,checky,Snk[i].color);
Dsnkorfd(Snk[i].x,Snk[i].y,0);
{if(Snk[0].x==Fd.x&&Snk[0].y==Fd.y)
{if(Snk[num-1].x>Snk[num-2].x)
if(Snk[num-1].x<Snk[num-2].x)
if(Snk[num-1].y>Snk[num-2].y)
if(Snk[num-1].y<Snk[num-2].y)
if(Time[1]=='0'&&Time[3]=='0'&&Time[4]=='0')
outtextxy(160,220,"Game Over");
else if(key==ESC) cleardevice();
else if(key==ESC) cleardevice();
outtextxy(100,220,"The Second Block");
else if(key==ESC) cleardevice();
void Dsnkorfd(int x,int y,int color)
三、c语言中0 error什么意思
说明编写的代码没有语法错误、没有警告问题、可以运行。
【分析】Text1.exe- 0 error(s), 0 warning(s):这个提示是显示代码有无语法错误、警告问题。在编译器中,写完代码后可以进行编译,编译器便会分析代码中是否含有错误,若有错误,便会提示出来,方便代码开发者修改。
若有错误,编译器会提示错误的位置以及错误的原因,方便快速定位错误位置。c语言是一门高级的程序汇编语言,有着严格的逻辑、语法。提示信息能够方便代码开发者,提升效率。
常见的语法错误(errors)有忘记写头文件、一些关键词拼写错误、忘记分号、文件打开忘记关闭、定义的变量大小写不一致等等。程序语言是一门严谨的科学,对于细节非常注重。而不同的编程语言又有不同的语法要求,如python语言的语法要求较c语言相比就更加宽松。
在编译语言中,语法错误一定只在编译期时出现,编译器要所有的语法都正确,才能正确编译。