VC++常见错误提示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/1.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe 新建工程时,应选Win32 Console Application , 新建工程时,应选 误选 Win32 Application
typedef int DataType #include"seqlist.h" error C2143: syntax error : missing ';' before '<class-head>' fatal error C1004: unexpected end of file found Error executing cl.exe. DataType后缺分号 后缺分号 #include“seqlist.h” fatal error C1083: Cannot open include file: 'seqlist.h': No such file or directory Error executing cl.exe. 找不到头文件
int Partition(SeqList *L,int low,int high); {… …} error C2447: missing function header (oldstyle formal list?) 多分号, 多分号,出现空语句 while(L->data[j]>=0&j>i) warning C4554: ‘&’ : check operator precedence for possible error; use parentheses to clarify precedence 逻辑运算符&&拼写错误 逻辑运算符 拼写错误
if((i+1)%5=0) 提示:'=' : left operand must be l-value 提示: 关系运算符误写为赋值语句, 关系运算符误写为赋值语句,将if((i+1)%5==0)中 中 的“==”误输入为“=” ”误输入为“ ” error C2660: 'SetTimer' : function does not take 2 parameters 个参数。 “SetTimer”函数不传递 个参数。 ”函数不传递2个参数 SetList(L,10); error C2664: 'SetList' : cannot convert parameter 1 from 'SeqList' to 'SeqList *‘ 参数类型不匹配
提示: 提示:function 'void main(void)' already has a body 若同一程序中出现两次void main(void)。 若同一程序中出现两次 。 提示: 提示:missing function header (old-style formal list?) 若程序中缺少void main(void)。 若程序中缺少 。
1、 class String 、 { private:... public: {void Insert(String& CS,int pos); //Insert String …}; void String::Inse(StringБайду номын сангаас CS,int pos) {…} error C2039: 'Inse' : is not a member of 'String‘ 公有成员声明与其定义不符
warning C4700: local variable 'bReset' used without having been initialized 局部变量“ 局部变量“bReset”没有初始化就使用。 ”没有初始化就使用。 error C2509: 'OnTimer' : member function not declared in 'CHelloView' 成员函数“OnTimer”没有在“CHelloView”中 成员函数“ ”没有在“ ” 声明。 声明。
inta,b,max 提示:‘inta’ undeclared identifier 提示: ’ “int a”中“int”与“a”之间缺少空格 ” ” ” for(i==0;i<10;i++) 提示: 提示:0error,1warning:operater has no effect; ; did you intend =? 中的“ ”输入为“ ” 将for(i==0;i<10;i++)中的“=”输入为“==” 中的 for(i=0,i<n,i++) error C2143: syntax error : missing ';' before ')‘ 循环语句格式不符时报错
提示: 提示: printf/scanf : unclared identifier 不使用头文件包含命令#include<stdio.h>就使用 不使用头文件包含命令 就使用 printf和scanf 和 提示: 提示:rand/NULL : unclared identifier 不使用头文件包含命令#include<stdlib.h>就使用 不使用头文件包含命令 就使用 rand和NULL 和
error :unclared identifier 使用未声明的变量(变量名拼写错误,没有标识头 使用未声明的变量(变量名拼写错误, 文件等)。 文件等)。 error C2143: syntax error: missing ':' before '{' 句法错误: ”前缺少“ 句法错误:“{”前缺少“;”。 warning C4035: 'f……': no return value 语句没有返回值。 “f……”的return语句没有返回值。 的 语句没有返回值 error C2082: redefinition of formal parameter 'bReset' 函数参数“ 函数参数“bReset”在函数体中重定义。 ”在函数体中重定义。
error C2660: 'exit' : function does not take 0 parameters 处理方法:在 后加个( )就行; 处理方法 在exit后加个(0)就行; 后加个 fatal error C1083: Cannot open precompiled header file: 'Debug/MyClock.pch': No such file or directory 解决方法:可跳过COMPILE,直接进行 解决方法:可跳过 ,直接进行BUILD, , 或是关闭VC++6.0,重新打开。 或是关闭 ,重新打开。 error C2664: '_wcsnicmp' : cannot convert parameter 2 from 'LPWORD' to 'const wchar_t *' 需要强制类型转换。 需要强制类型转换。
Error后面的数字表示错误代号。 后面的数字表示错误代号。 后面的数字表示错误代号 错误代号分为两类: 错误代号分为两类: (1) C开头的是编译错误,即你的代码存在语法错 开头的是编译错误, 开头的是编译错误 你需要修改代码; 误,你需要修改代码;语法错误分为一般错误 (error)和警告错误(warning)两种。 )和警告错误( )两种。 (2) LNK开头的是链接错误,通常你的代码并没有 开头的是链接错误, 开头的是链接错误 语法错误,可能是配置错误引起的, 语法错误,可能是配置错误引起的,一般是程序中 调用了某个函数, 调用了某个函数,而链接程序却找不到该函数的定 但有时LNK也可能是由于拼写错误引起的。另 也可能是由于拼写错误引起的。 义,但有时 也可能是由于拼写错误引起的 外,程序分为几个文件分别编译、链接时,可能出 程序分为几个文件分别编译、链接时, 现全局变量没有声明或重复声明的错误。 现全局变量没有声明或重复声明的错误。
error C4716: 'CMyApp::InitInstance' : must return a value “CMyApp::InitInstance”函数必须返回一个值。 ”函数必须返回一个值。 LINK : fatal error LNK1168: cannot open Debug/P1.exe for writing 连接错误:不能打开P1.exe文件,以改写内容。 连接错误:不能打开 文件,以改写内容。 文件 一般是P1.Exe还在运行,未关闭) 还在运行, (一般是 还在运行 未关闭) error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)" 连接时发现没有实现的外部符号(变量、函数等)。 连接时发现没有实现的外部符号(变量、函数等)。
:: ~String(void) { cout<<"destructor"<<endl; delete[]str; } error C2588: '::~String' : illegal global destructor 类名及范围限定符String:: 漏写时报错 漏写时报错: 类名及范围限定符
error C2196: case value '69' already used 已经用过。(一般出现在switch语句的 语句的case 值69已经用过。(一般出现在 已经用过。(一般出现在 语句的 分支中) 分支中) error C2057: expected constant expression 希望是常量表达式。(一般出现在switch语句的 。(一般出现在 希望是常量表达式。(一般出现在 语句的 case分支中) 分支中) 分支中
error C2011: 'C……': 'class' type redefinition 类“C……”重定义。 重定义。 重定义 error C2018: unknown character '0xa3' 不认识的字符‘0xa3’。(一般是汉字或中文标点符 。(一般是汉字或中文标点符 不认识的字符 。( 号,因为系统对中文环境下输入的符号,例如分号 因为系统对中文环境下输入的符号, 括号等,系统是不接受的) 括号等,系统是不接受的) fatal error C1004: unexpected end of file found 解决方法: 解决方法:由于程序中少了 ")" 或者 "}" 之类的符 编译器认为你的程序还没有写完.找出哪里漏掉了 号,编译器认为你的程序还没有写完 找出哪里漏掉了 编译器认为你的程序还没有写完 这些符号,加上就可以了 这些符号 加上就可以了
error C2511: 'reset': overloaded member function 'void (int)' not found in 'B' 重载的函数“ 重载的函数“void reset(int)”在类“B”中找不 ”在类“ ” 到。 error C2555: ‘B::f1’: overriding virtual function differs from ‘A::f1’ only by return type or calling convention 类B对类 中同名函数f1的重载仅根据返回值或调 对类A中同名函数 的重载仅根据返回值或调 对类 中同名函数 用约定上的区别。 用约定上的区别。
VC++常见错误提示 常见错误提示
计算系软件工程教研室 李典蔚 2009
括号中的数字是出错的代码行的行号。 括号中的数字是出错的代码行的行号。 例如错误中的第1行表示 例如错误中的第 行表示CalWnd.cpp的1092行出 的 行出 行表示 现了错误。如果想快速找到这行, 现了错误。如果想快速找到这行,可以在错误信息 行上双击鼠标,这时VC++会自动打开 会自动打开.cpp文件并 行上双击鼠标,这时 会自动打开 文件并 定位到这行。 定位到这行。 在错误信息行上按F1键,VC++会打开 会打开MSDN帮助 在错误信息行上按 键 会打开 帮助 并显示关于该错误信息的一个简单的解释, 并显示关于该错误信息的一个简单的解释,你可以 根据该解释来知道到底是什么意思。 根据该解释来知道到底是什么意思。