VC++常见错误提示

合集下载

VC中常见的一些编译链接错误的解决

VC中常见的一些编译链接错误的解决

VC中常见的一些编译链接错误的解决VC中常见的一些编译链接错误的解决2010-03-22 15:59问题1:Linking...nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadexnafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadexlibcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main答VC++默认的工程设置是单线程的,而你使用了多线程,所以要修改设置。

选择菜单“Project|settings”,选择C/C++标签,在CODEGENERATION分类中选择除SINGLE-THREADED的其他选择。

比如可以在Use run-time library中选择Debug Multithreaded 或者multithreaded其中,Single-Threaded 单线程静态链接库(release版本) Multithreaded 多线程静态链接库(release版本) multithreaded DLL 多线程动态链接库(release版本)Debug Single-Threaded 单线程静态链接库(debug版本)Debug Multithreaded 多线程静态链接库(debug版本)Debug Multithreaded DLL 多线程动态链接库(debug版本)单线程: 不需要多线程调用时, 多用在DOS环境下多线程: 可以并发运行静态库: 直接将库与程序Link, 可以脱离MFC库运行动态库: 需要相应的DLL动态库, 程序才能运行release版本: 正式发布时使用debug版本: 调试阶段使用问题2fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiledheaders。

VC6.0常见错误信息分析

VC6.0常见错误信息分析

1.程序开发过程中出现的错误类型我们在进行程序设计时,不可避免地会犯错误。

程序中的错误可以分为三类:编译错误、运行时错误和逻辑错误。

1.1编译错误编译错误(Compile errors)又称为编译时错误(Compiling-time errors): 是由于错误的编码产生的。

例如关键字拼写错误、将中文标点符号当成英文符号使用、遗漏了某些必要的标点符号或者使用了一个没有定义的标识符。

编译错误一般都是语法错误,当编译器对程序进行语法检查时,都能发现这些错误,并能够指出产生错误的位置(标出行号)。

我们可以根据编译出错信息指出的行号找到对应的源代码行改正错误,重新编译源程序。

只有当所有的编译错误被改正后,才能通过编译检查,产生目标代码文件。

改正编译错误的关键是要能正确理解编译器给出的编译错误信息。

VC++环境中的编译、链接错误信息是用英文表示的。

对于英文基础薄弱的读者,可以参考本实验指导书后面的“VC++编译、链接常见错误和警告信息中英文对照”。

通常情况下,一个语法错误可能产生多条编译错误信息,这是由于株连错误造成的,建议读者在处理编译错误时,找到第一个出现错误的位置改正后重新编译。

这样能够避免被株连错误迷惑。

值得指出的是,现在大部分编译器对错误的定位不精确,如果在编译器指出的行没有发现错误,应该向前查找错误。

例如,当提示第10行发生错误时,如果在第10行没有发现错误,请从第10行开始往前查找错误并修改之。

1.2运行时错误运行时错误(Run-time errors)是在程序的运行阶段出现的,当运行环境检测到程序的某些操作无法执行,例如除数为零时,就会出现运行时错误。

当运行环境检测到程序的某些操作是被禁止的,也会产生运行时错误。

例如,访问数组时超越数组的边界,空指针引用(NULL pointer assignment,空指针赋值,即有指针未赋具体地址就使用了)等等。

1.3逻辑错误逻辑错误(Logic errors):当程序没有按照程序员的意图执行时,就表明程序中存在逻辑错误。

VC++6.0裏面20种C语言常见错误代码解释

VC++6.0裏面20种C语言常见错误代码解释

11、error C2509: 'OnTimer' : member function not declared in 'CHelloView'
成员函数“OnTimer”没有在“CHelloView”中声明。
12、error C2511: 'reset': overloaded member function 'void (int)' not found in 'B'
9、error C2146: syntax error : missing ';' before identifier 'dc'
句法错误:在“dc”前丢了“;”。
10、error C2196: case value '69' already used
值69已经用过。(一般出现在switch语句的case分支中)
重载的函数“void reset(int)”在类“B”中找不到。
13、error C2555: 'B::f1': overriding virtual function differs from 'A::f1' only by return type or calling convention
解决方法:
其一,包含正确路径的#include "stdafx.h";
其二,在*.cpp文件的Setting里面设置,C++选项中的分类 precompiled header,选择不包含头文件即可。
2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory

C++常见错误

C++常见错误

VC编译常见错误- -1、Fatal Error C1010unexpected end of file while looking for precompiled header di rective这一般是由于使用了参数/Yu"stdafx.h",意思是在每个文件中都应该使用#include来包含这个头文件。

一般改正,就是在每个。

CPP文件中包含这个文件就可以。

2、LNK2001 on __beginthreadex and __endthreadex这是一个非常常见的链接错误。

原因是由于在VC3。

0以后所有的M FC类都是线程安全的,在MFC类库中使用了Thread Local Stora ge (TLS)提供预处理的数据。

因此如果程序中包含了"stfafx.h"头文件或者使用了,MFC类库中的类就会使用MSVCRTx0.DLL 来进行链接。

改正方法如下:On Visual C 2.x, 5.0, and 6.0:Select the Project menu, and then continue Steps 2 throug h 5 below.On Visual C 4.x:Select the Build menu.Select the Settings... option.Select the C/C++ tab.Select Code Generation on the Category list box.Finally, make a selection other than Single-Threaded on th e Use Run Time Library list box.如果使用了"Multithreaded using DLL"方式还要求在预处理符号中加上_AFXDLL 符号.还在LIBC。

LIB是C Runtime的静态链接库。

VC中GetLastErro返回的错误码

VC中GetLastErro返回的错误码

VC中GetLastErro返回的错误码〖0〗-操作成功完成。

〖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〗-驱动器⽆法找出磁盘上特定区域或磁道的位置。

〖26〗-⽆法访问指定的磁盘或软盘。

〖27〗-驱动器找不到请求的扇区。

〖28〗-打印机缺纸。

〖29〗-系统⽆法写⼊指定的设备。

〖30〗-系统⽆法从指定的设备上读取。

〖31〗-连到系统上的设备没有发挥作⽤。

〖32〗-进程⽆法访问⽂件,因为另⼀个程序正在使⽤此⽂件。

〖33〗-进程⽆法访问⽂件,因为另⼀个程序已锁定⽂件的⼀部分。

〖36〗-⽤来共享的打开⽂件过多。

〖38〗-到达⽂件结尾。

〖39〗-磁盘已满。

〖50〗-不⽀持⽹络请求。

〖51〗-远程计算机不可⽤。

〖52〗-在⽹络上已有重复的名称。

〖53〗-找不到⽹络路径。

〖54〗-⽹络忙。

〖55〗-指定的⽹络资源或设备不再可⽤。

〖56〗-已到达⽹络 BIOS 命令限制。

〖57〗-⽹络适配器硬件出错。

〖58〗-指定的服务器⽆法运⾏请求的操作。

〖59〗-发⽣意外的⽹络错误。

〖60〗-远程适配器不兼容。

〖61〗-打印机队列已满。

〖62〗-⽆法在服务器上获得⽤于保存待打印⽂件的空间。

〖63〗-删除等候打印的⽂件。

vc++6.0菜单中英文对照附录常见编译错误

vc++6.0菜单中英文对照附录常见编译错误

VC++6.0系统开发环境在Windows 98/2000/XP操作系统中正确安装了Visual C++ 6.0后,可以启动Visual C++6.0系统。

第一次运行时,将显示出“Tip of the Day”对话框,单击“Next”命令按钮,可看到有关各种操作的提示;如果不选中“Show tips at startup”复选框,那么以后运行Visual C++ 6.0时将不再出现此对话框。

单击“Close”命令按钮关闭此对话框,进入Visual C++6.0系统开发环境。

1 开发环境的菜单功能Visual C++6.0开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成。

在开发环境界面中,可以看到在它的上方排列着一系列菜单,如图1所示,而每一个菜单下都有各自的菜单命令。

在进一步与开发环境打交道之前,先了解各个菜单命令的基本功能是很有必要的,因为大部分的操作都是通过菜单来完成的。

图 1 VC++主菜单栏1. File莱单File菜单中的命令主要用来对文件和项目进行操作,如“新建”、“打开”、“保存”、“打印”等。

其中各项命令的功能描述如表1所示。

表 1 File菜单命令的快捷键及功能描述菜单命令快捷键功能描述New Ctrl+N 创建一个新项目或文件Open Ctrl+O 打开已有的文件Close 关闭当前被打开的文件Open Workspace 打开一个已有的项目Save Workspace 保存当前项目Close Workspace 关闭当前项目Save Ctrl+S 保存当前文件Save As 将当前文件用新文件名保存Save All 保存所有打开的文件Page Setup 文件打印的页设置(续表)菜单命令快捷键功能描述Print Ctrl+P 打印当前文件内容或选定的当前内容Recent Files 选择打开最近的文件Recent Workspace 选择打开最近的项目Exit 退出Visual C++6.0开发环境2. Edit菜单Edit菜单中的命令用来使用户方便快捷地编辑文件内容,如进行删除、复制等操作,其中大多数命令功能与Windows中标准字处理程序的编辑命令一致,各项命令的快捷键及它们的功能描述如表2所示。

VC6编译及链接过程中常见的出错提示

VC6编译及链接过程中常见的出错提示

Visual C++ 6.0编程环境的使用目录4 编译与链接过程中常见的出错提示 (1)4.1编译、链接问题的解决方法 (1)(1)努力读懂VC报告的错误与警告信息 (1)(2)定位问题所在行 (1)(3)解决问题的方法 (1)(4)避免被VC误导 (1)(5)编译链接问题的解决不代表程序正确 (2)4.2常用单词与术语 (2)4.3常见编译错误信息 (4)(1)error C2001: newline in constant (4)(2)error C2017: illegal escape sequence (4)(3)error C2015: too many characters in constant (4)(4)error C2137: empty character constant (5)(5)error C2018: unknown character '0x##' (5)(6)error C2041: illegal digit '#' for base '8' (5)(7)error C2065: 'xxxx' : undeclared identifier (5)(8)error C2086: 'xxxx' : redefinition (6)(9)error C2374: 'xxxx' : redefinition; multiple initialization (6)(10)error C2143: syntax error : missing ';' before (identifier) 'xxxx'或before 'type' (6)(11)error C4716: 'xxx' : must return a value (7)(12)error C2006: #include expected a filename, found '(' / found 'identifier' / found 'newline' (7)(13) error C2039: 'aver' : is not a member of 'STU' (7)(14)error C2043: illegal break (7)(15)error C2046: illegal case / error C2047: illegal default (8)(16)error C2050: switch expression not integral (8)(17)error C2051: case expression not constant (8)(18)error C2079: 'da' uses undefined struct 'data' (8)(19)error C2081: 'num2' : name in formal parameter list illegal (9)(20)error C2122: 'num2' : prototype parameter in name list illegal (9)(21)error C2082: redefinition of formal parameter 'aver' (9)(22)error C2172: 'fread' : actual parameter is not a pointer : parameter 1 (9)(23)error C2198: 'FindMin' : too few actual parameters (10)(24)error C2087: '<Unknown>' : missing subscript (10)(25)error C2133: 'num' : unknown size (10)(26)error C2106: '=' : left operand must be l-value (10)(27)error C2108: subscript is not of integral type (10)(28)error C2109: subscript requires array or pointer type (10)(29)error C2181: illegal else without matching if (11)(30)error C2296: '%' : illegal, left operand has type 'double ' (11)(31)fatal error C1004: unexpected end of file found (11)(32)fatal error C1021: invalid preprocessor command 'defint'/'hinclude' (11)(33)fatal error C1083: Cannot open include file: 'sdtio.h': No such file or directory (11)(34)error C2220: warning treated as error - no object file generated (11)4.4常见编译警告信息 (12)(1)warning C4129: 'm' : unrecognized character escape sequence (12)(2)warning C4508: 'main' : function should return a value; 'void' return type assumed (12)(3)warning C4098: 'change' : 'void' function returning a value (12)(4)warning C4700: local variable 'xxx' used without having been initialized (12)(5)warning C4013: 'print' undefined; assuming extern returning int (13)(6)warning C4047: '=' : 'int *' differs in levels of indirection from 'int ' (13)(7)warning C4024: 'fun' : different types for formal and actual parameter 2 (13)(8)warning C4133: 'function' : incompatible types - from 'int [128]' to 'char *' (13)(9)warning C4022: 'fread' : pointer mismatch for actual parameter 1 (14)(10)warning C4018: '<' : signed/unsigned mismatch (14)(11) warning C4305: '=' : truncation from 'const double ' to 'float ' (15)(12)warning C4553: '==' : operator has no effect; did you intend '='? (15)(13)warning C4715: 'fun' : not all control paths return a value (15)4.5常见链接错误 (16)(1)error LNK2001: unresolved external symbol _main (16)(2)error LNK2005: _main already defined in xxxx.obj (16)(3)fatal error LNK1168: cannot open Debug/P901.exe for writing (17)4.6T URBO C V2.0编译错误信息的英汉对照表 (17)4 编译与链接过程中常见的出错提示4.1 编译、链接问题的解决方法(1)努力读懂VC报告的错误与警告信息编译、链接过程中,主要由于初学和录入阶段的击键失误,VC经常会提示程序有错(语法和拼写问题,肯定不会指明算法有问题,否则就不用编程了)。

C++常见错误和解决方法

C++常见错误和解决方法
1错误: fatal error C1010: unexpected endof file while looking for precompiled header. Did you forget toadd '#include"StdAfx.h"' to your source?
#include"StdAfx.h" 你把这个放在头文件里面就行了 2 vc++编程出现错误error C2447: missing function header (old-styleformal list?) 原因:函数后面多了分号; SUNSHINE_APISSN_RETURN SsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTRlpszGroupName, __in LPTSTR lpszKey, __in LPTSTR lpszValue);
project->Properties->ConfigurationProperties->General->Character Set->Not Set /hrh2010/article/details/6681271
7问题: C1083:Cannot open include file: 'stdafx.h': No such file or directory C1083:无法打开包括文件:“stdafx.h中”:没有这样的文件或目录 解决:stdafx.h文件和工程的.h文件放在一个位置; 8 error C2065: “cout”: 未声明的标识符 解决方法:加上 #include <iostream> using namespace std; 9 错误: error C3872: '0x3000': thischaracter is not allowed in an identifier 错误C3872:'0 X3000“:此字符不允许在标识符 0x3000是汉语的空格,也就是全角空格,相当于一个汉字,但你又看不见它。

VC常见错误与解决方法

VC常见错误与解决方法

1.源文件名称
错误:2-3.txt
正确:2-3.c或2-3.cpp
2.同时编辑、运行多个源文件
错误:同时编辑、运行多个源文件,可是运行的总不是自己当前编辑的。

正确:每次只编辑、运行1个源文件。

3.VC出现故障
错误:不能编译、运行。

正确:先保存文件!按Ctrl+Alt+Del,启动任务管理器,点“进程”选项卡,找到MSDEV.EXE,点“结束进程”,点“是”即可。

4.修改代码后运行没有变化
错误:点“!”按钮时你选择了No。

正确:点“!”按钮时选择Yes。

5.编译时出现error,不能运行,不知道怎么办
正确:在output窗口中,找到第1个error,双击此行,看看提示信息,错误的位置大部分在此行及其之前的几行,剩下的就是你的英语水平了,不会就copy那些信息,去google或者百度。

Visual c++程序安装常见错误解决办法录

Visual c++程序安装常见错误解决办法录

第一个方法:你先搜索找到SHSQL.DLL看看能不能找到,找到了的话就把它复制到C:\windows\system32文件夹下,然后在"开始"->运行"中输入"regsvr32 SHSQL.DLL"来注册DLL文件.然后你再试一下导入工程看看成功没有参考/z/q159948704.htm第二个方法:装了VC 企业版,而后反安装时不正常,再安装别的版本的VC 就会出现,可以在注册表中删除如下项来解决:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\shsql.dll这个是因为没有正常反安装VC 企业版造成。

参考/wenda/thread?tid=0ee9a7ca9e53e5d5&clk=wttpcts第三个方法:找不到"SHSQL.dll"这个文件,只要在安装程序所在的文件夹内,搜索这个文件,然后复制到安装目录就可以了.步骤如下:比如说,安装程序所在文件夹为: E:\VS6EN安装路径为: C:\Program Files\Microsoft Visual Studio在"E:\VC6EN\COMMON\MSDEV98\BIN"文件夹下找到SHSQL.dll文件,复制后打开"C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin"文件夹,粘贴重新打开VC,前面的提示没有了,但是又提示找不到EESWT.dll或者NMSQL.dll 文件还是在上面的目录中找到这个文件,然后复制到安装目录下,若还提示有文件找不到,就仍然找提示的文件,然后复制文件到目标文件夹下。

再次重新打开VC,问题就解决了。

O(∩_∩)O~。

参考:/132676814.html。

VC2010中初学者常见错误、警告和问题

VC2010中初学者常见错误、警告和问题

《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题这一章将帮助大家解释一些常见的错误、警告和问题,帮助大家去理解和解决一些常见问题,并了解它的根本原因。

iostream.h与<iostream>下面的代码为什么在VC2010下面编译不过去?#include <iostream.h>int main(){cout<<"Hello World."<<endl;return 0;}错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用<iostream>头文件来代替,你甚至可以认为<iostream>是这样定义的:namespace std{#include "iostream.h"}因此我们可以简单的修改我们的Hello World。

#include <iostream>using namespace std;int main(){cout<<"Hello World."<<endl;return 0;}iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了<iostream>。

而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。

但是它们依然有对应的C++版本,如<cstdio> <cstdlib>等。

C语言编程过程中的一些错误对应的汉语翻译

C语言编程过程中的一些错误对应的汉语翻译

中文对照 :switch表达式不是整型的
分析 :switch表达式必须是整型(或字符型),例如“switch ("a")”中表达式为字符串,这是非法的
error C2051: case expression not constant
中文对照 :case表达式不是常量
error C2051: case expression not constant
中文对照 :两个指针量不能相加
分析 :例如“int *pa,*pb,*a; a = pa + pb;”中两个指针变量不能进行“+”运算
error C2117: 'xxx' : array bounds overflow
中文对照 :数组 xxx边界溢出
分析 :一般是字符数组初始化时字符串长度大于字符数组长度,例如“char str[4] = "abcd";” error C2118: negative subscript or subscript is too large 中文对照 :下标为负或下标太大
分析 :头文件不存在、或者头文件拼写错误、或者文件为只读
fatal error C1903: unable to recover from previous error(s); stopping compilation
中文对照 :无法从之前的错误中恢复,停止编译
分析 :引起错误的原因很多,建议先修改之前的错误
error C2015: too many characters in constant 的一个转义字符
中文对照 :常量中包含多个字符
error C2017: illegal escape sequence

VC安装失败的一些解决方案

VC安装失败的一些解决方案

VC安装失败的一些解决方案VC(Visual C++)是一种编程语言,用于开发Windows平台上的应用程序。

在进行VC安装过程中,可能会出现各种失败的情况。

以下是一些解决VC安装失败的常见问题和解决方案。

1.安装程序无法启动或一直停留在启动页面:- 确保系统已经完成所有的更新:打开Windows更新,检查并安装所有可用的更新。

-关闭临时停用任何防火墙或杀毒软件:有时,安全软件可能会阻止安装程序运行。

暂时关闭安全软件,然后尝试重新运行安装程序。

2.安装程序报告错误代码:-在错误代码上:将错误代码输入引擎,找到相关的解决方案并跟随指示进行修复。

- 运行Windows安装程序故障排除工具:Windows提供了一套用于识别和解决安装问题的工具。

在Windows设置中并运行“故障排除”,然后选择“修复Windows程序包安装”。

3.安装程序卡在其中一步骤上无法继续:-检查硬件兼容性:一些VC版本可能对硬件有特定的要求。

确保计算机的硬件满足VC版本的要求。

- 清理临时文件夹:在Windows资源管理器中,选择计算机的主驱动器,然后右键单击并选择“属性”。

在“常规”选项卡上,单击“磁盘清理”,然后选择您想要清理的文件类型。

然后,单击“确定”并等待清理完成。

4.安装程序在安装过程中崩溃或突然停止运行:- 更新操作系统:确保计算机上的Windows操作系统已更新到最新版本,以获取最新的安全修复和错误修复。

-禁用非必要的启动项目:运行MSCONFIG并在“启动”选项卡上禁用所有非系统必需的启动项目。

然后,重新启动计算机并尝试重新运行安装程序。

- 运行SFC扫描:在命令提示符中,键入“sfc /scannow”并按Enter键。

该命令将扫描并修复操作系统文件中的任何损坏。

vc常见错误提示

vc常见错误提示

VC常见错误提示1.错误信息(1) fatal error C1o04 unexpected end of file found致命错误:未找到文件末尾(一般是缺少括号造成的问题)。

(2) fatal error C1021, invalid preprocessor command include致命错误:无效的编译预处理命令'include'(3) fatal error C1083: Cannot open include file: 'stdi. h': No such file or directory致命错误:不能打开头文件stdi.h:文件或文件夹不存在。

(4) error C2101: '&'on constant不能计算常量的地址(5) error C2059: syntax error: while在while附近存在语法错误。

(6) error C2061: syntax error: identifier 'x'标识符x的附近存在语法错误(7) error C2065: 'i': undeclared identifier变量i未定义。

(8) error C2078: too many initializers数组/结构等变量初始化时的数据太多。

(9) error C2087:'<Unknown>': missing subscript丢失数组下标。

(10) error C2106: '=': left operand must be l-value=的左侧应当是左值,即不能是常量。

(11) error C2115:'=': incompatible types '='两侧的类型不兼容。

(12) error C2133: 'a': unknown size aa的大小未知(可能是数组名)。

VC6.0常见编译错误提示附解决方法

VC6.0常见编译错误提示附解决方法

VC6.0常见编译错误提⽰附解决⽅法编号:C2001直译:在常量中出现了换⾏。

错误分析:1.①字符串常量、字符常量中是否有换⾏。

2.②在这句语句中,某个字符串常量的尾部是否漏掉了双引号。

3.③在这语句中,某个字符创常量中是否出现了双引号字符“"”,但是没有使⽤转义符“\"”。

4.④在这句语句中,某个字符常量的尾部是否漏掉了单引号。

5.⑤是否在某句语句的尾部,或语句的中间误输⼊了⼀个单引号或双引号。

编号:C2015直译:字符常量中的字符太多了。

错误分析:单引号表⽰字符型常量。

⼀般的,单引号中必须有且只能有⼀个字符(使⽤转义符时,转义符所表⽰的字符当作⼀个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。

另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例如:if (x == 'x || x == 'y') { … }值得注意的是,如果单引号中的字符数是2-4个,编译不报错,输出结果是这⼏个字母的ASC码作为⼀个整数(int,4B)整体看待的数字。

编号:C2137直译:空的字符定义。

错误分析:原因是连⽤了两个单引号,⽽中间没有任何字符,这是不允许的。

编号:C2018直译:未知字符‘0x##'。

错误分析:0x##是字符ASC码的16进制表⽰法。

这⾥说的未知字符,通常是指全⾓符号、字母、数字,或者直接输⼊了汉字。

如果全⾓字符和汉字⽤双引号包含起来,则成为字符串常量的⼀部分,是不会引发这个错误的。

编号:C2141直译:在⼋进制中出现了⾮法的数字‘#'(这个数字#通常是8或者9)。

错误分析:如果某个数字常量以“0”开头(单纯的数字0除外),那么编译器会认为这是⼀个8进制数字。

例如:“089”、“078”、“093”都是⾮法的,⽽“071”是合法的,等同于是进制中的“57”。

编号:C2065直译:标识符“xxxx”未定义。

错误分析:⾸先,解释⼀下什么是标识符。

c程序调试方法以及常见错误

c程序调试方法以及常见错误

目录使用VC6.0对C语言程序进行调试的基本手段 (2)(1)设置固定断点或临时断点 (2)(2)单步执行程序 (2)(3)使用断言 (3)(4)与调试相关的操作菜单:Build菜单 (4)(5)与调试相关的操作菜单:Debug菜单 (4)VC6.0常见编译错误提示 (6)(1)error C2001: newline in constant (6)(2)error C2015: too many characters in constant (6)(3)error C2137: empty character constant (6)(4)error C2018: unknown character '0x##' (6)(5)error C2041: illegal digit '#' for base '8' (6)(6)error C2065: 'xxxx' : undeclared identifier (7)(7)error C2086: 'xxxx' : redefinition (7)(8)error C2374: 'xxxx' : redefinition; multiple initialization (7)(9)C2143: syntax error : missing ';' before (identifier) 'xxxx' (8)(10)error C4716: 'xxx' : must return a value (8)(11) warning C4508: 'main' : function should return a value; 'void' return typeassumed (8)(12)warning C4700: local variable 'xxx' used without having been initialized (8)VC60.0常见链接错误 (10)(1)error LNK2001: unresolved external symbol _main (10)(2)error LNK2005: _main already defined in xxxx.obj (10)使用VC6.0对C语言程序进行调试的基本手段(1)设置固定断点或临时断点所谓断点,是指定程序中的某一行,让程序运行至该行后暂停运行,使得程序员可以观察分析程序的运行过程中的情况。

VC常见错误提示

VC常见错误提示

VC常见错误提示


3、error C2011: 'C……': 'class' type redefinition 类“C……”重定义。
4、error C2018: unknown character '0xa3' 不认识的字符'0xa3'。(一般是汉字或中文标点符号,要改用英文标点符号) 5、error C2057: expected constant expression 希望是常量表达式。(一般出现在switch语句的case分支中) 6、error C2065: 'a' : undeclared identifier “a”:未声明过的标识符。要进行变量的声明定义 7、error C2143: syntax error: missing ':' before '{' 句法错误:“{”前缺少“;”。 8、error C2146: syntax error : missing ';' before identifier 'dc' 句法错误:在“dc”前丢了“;”。


Байду номын сангаас
1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include “stdio.h”) 2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory 不能打开包含文件“R…….h”:没有这样的文件或目录。

常见编译错误信息

常见编译错误信息

常见编译错误信息A.1 visual c++ 6.0的错误信息概述visual C++ 6.0的编译连接错误信息分为三种类型:致命错误、一般错误和警告。

其中,致命错误是内部编译和连接器出错,一般错误指程序的语法错误,磁盘、文件或内存存取错误或命令行错误等,警告则只指出一些值得怀疑的情况,它并不阻止编译的进行。

Visual C++ 6.0的编译连接错误信息分为下列类型:编译器错误,错误代码 C999-C3999.编译器警告,错误代码C4000-C4999.连接器错误,错误代码LNK1000-LNK2035.连接器警告,错误代码LNK4001-LNK4255.C运行时错误,错误代码R6002-R6035.C运行时警告,错误代码CRT1001.资源编译器错误,错误代码RC1000-RC2236.资源编译器警告,错误代码RC4000-RC4413.资源编译器警告,错误代码RW1004-RW4004.NMAKE错误,错误代码U1000-U4014.ATL提供程序错误和警告,错误代码ATL2004-ATL4111.命令行错误,错误代码D8000-D8046.命令行警告,错误代码D9000-D9044.配置优化错误和警告,错误代码PG0001-PG1087.项目生成错误和警告,错误代码PRJ0002-PRJ0051.CVTRES错误,错误代码CVT1100-CVT4001.BSCMAKE错误,错误代码BK1500-BK4503.表达式计算错误,错误代码CXX0000-CXX0072数学错误,错误代码M6101-M6205.SPROXY错误,错误代码SDL0000-SDL1030.SPROXY警告,错误代码SDL4000-SDL4009.Web部署错误和警告,错误代码VCD0001-VCD0048.XDCMake错误和警告,错误代码VCD0001-VCD0048.其中最常用的是编译器错误和警告。

Visual C++ 6.0的编译连接错误信息数量庞大,而且是英文版的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

warning C4700: local variable 'bReset' used without having been initialized 局部变量“ 局部变量“bReset”没有初始化就使用。 ”没有初始化就使用。 error C2509: 'OnTimer' : member function not declared in 'CHelloView' 成员函数“OnTimer”没有在“CHelloView”中 成员函数“ ”没有在“ ” 声明。 声明。
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‘ 公有成员声明与其定义不符
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 *' 需要强制类型转换。 需要强制类型转换。
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. 找不到头文件
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)。 若程序中缺少 。
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 逻辑运算符&&拼写错误 逻辑运算符 拼写错误
Error后面的数字表示错误代号。 后面的数字表示错误代号。 后面的数字表示错误代号 错误代号分为两类: 错误代号分为两类: (1) C开头的是编译错误,即你的代码存在语法错 开头的是编译错误, 开头的是编译错误 你需要修改代码; 误,你需要修改代码;语法错误分为一般错误 (error)和警告错误(warning)两种。 )和警告错误( )两种。 (2) LNK开头的是链接错误,通常你的代码并没有 开头的是链接错误, 开头的是链接错误 语法错误,可能是配置错误引起的, 语法错误,可能是配置错误引起的,一般是程序中 调用了某个函数, 调用了某个函数,而链接程序却找不到该函数的定 但有时LNK也可能是由于拼写错误引起的。另 也可能是由于拼写错误引起的。 义,但有时 也可能是由于拼写错误引起的 外,程序分为几个文件分别编译、链接时,可能出 程序分为几个文件分别编译、链接时, 现全局变量没有声明或重复声明的错误。 现全局变量没有声明或重复声明的错误。
VC++常见错误提示 常见错误提示
计算系软件工程教研室 李典蔚 2009
括号中的数字是出错的代码行的行号。 括号中的数字是出错的代码行的行号。 例如错误中的第1行表示 例如错误中的第 行表示CalWnd.cpp的1092行出 的 行出 行表示 现了错误。如果想快速找到这行, 现了错误。如果想快速找到这行,可以在错误信息 行上双击鼠标,这时VC++会自动打开 会自动打开.cpp文件并 行上双击鼠标,这时 会自动打开 文件并 定位到这行。 定位到这行。 在错误信息行上按F1键,VC++会打开 会打开MSDN帮助 在错误信息行上按 键 会打开 帮助 并显示关于该错误信息的一个简单的解释, 并显示关于该错误信息的一个简单的解释,你可以 根据该解释来知道到底是什么意思。 or :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 C2011: 'C……': 'class' type redefinition 类“C……”重定义。 重定义。 重定义 error C2018: unknown character '0xa3' 不认识的字符‘0xa3’。(一般是汉字或中文标点符 。(一般是汉字或中文标点符 不认识的字符 。( 号,因为系统对中文环境下输入的符号,例如分号 因为系统对中文环境下输入的符号, 括号等,系统是不接受的) 括号等,系统是不接受的) fatal error C1004: unexpected end of file found 解决方法: 解决方法:由于程序中少了 ")" 或者 "}" 之类的符 编译器认为你的程序还没有写完.找出哪里漏掉了 号,编译器认为你的程序还没有写完 找出哪里漏掉了 编译器认为你的程序还没有写完 这些符号,加上就可以了 这些符号 加上就可以了
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)" 连接时发现没有实现的外部符号(变量、函数等)。 连接时发现没有实现的外部符号(变量、函数等)。
error C2196: case value '69' already used 已经用过。(一般出现在switch语句的 语句的case 值69已经用过。(一般出现在 已经用过。(一般出现在 语句的 分支中) 分支中) error C2057: expected constant expression 希望是常量表达式。(一般出现在switch语句的 。(一般出现在 希望是常量表达式。(一般出现在 语句的 case分支中) 分支中) 分支中
相关文档
最新文档