导航:首页 > 源码编译 > 中文c语言编译错误

中文c语言编译错误

发布时间:2023-01-23 21:43:31

❶ 新手在学习c语言并编译程序时编译错误怎么办

1、确定出错的行号
如果是一个比较好的集成编译环境的话,一般双击编译错误,鼠标都会自动跳转到该行并高亮显示。
没有这个功能也没关系,编译错误里面也都会有说明某某.c,某某行出的问题
1>e:\visual studio 2005\projects\airplane\airplane\airplane.cpp(52) : error C2065: 'abc' : undeclared identifier
这个就是说明在airplane.cpp的52行有错误

2、多个错误的话,一般只处理第一个错误
如果一次打出很多错误的话,不需要每一个都处理,只处理第一个编译错误,然后再次编译。大部分的时候,都是由于第一个错误产生了后续很多错误,第一个错误解决之后,其他错误也就迎刃而解。

3、对错误的更改
一般就是看错误的编号和后续的英文说明,如上面的错误,错误编号是C2065,错误的解释是'abc' : undeclared identifier,未定义的标示符,将abc定义即可。
错误的种类很多,一般看英文就可以解决,如果解决不了的话,推荐根据错误编号上网搜索一下解决方法就OK拉。

❷ C语言编译错误C1010该怎么解决

在编译VC++6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive
的错误.
解决方法:
1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。
2、在文件开头添加:
#include "stdafx.h"
对预编译头文件说明如下:

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。

因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。

❸ c语言helloworld代码是对的,但编译错误

写c语言的时候,如果代码没错,这只能说明语法没有出错,直接导致的结果就是能编译通过,并不意味着执行的结果就是正确的。影响c语言代码执行结果的因素非常多。

一、指针的不正确运用;

二、变量精度问题。char,int,unsigned int,long ,float等,如果变量精度使用不正确,也会影响运算结果;

三、运算符的应用不正确。例如除,取余的区别;

四、正负符号位;

五、运算符的优先级使用;

六、编译器不同。各种编译器也可能造成结果不一致;

C语言虽然是一门比较简单的语言,但是要掌握这些细节,其实并不容易。

❹ 如何快速查找C语言编译时的错误

1 一定要选一个好的编译器。如果编译器设计的不合理,那么编译错误的上报就可能不正确,甚至是误导编程人员,增加查找错误的难度。

目前主流的编译器,在这方面差别不大。
2 编译器在输出编译错误时,会提示出错在哪一行。对于可视化编译器,通过操作可以直接定位到出错行。这一判断并不一定准确,不过大多数问题都出在指定的行,或上下两行中。
3 确定出错行后,根据提示的信息,进一步查找出错原因。这一步的可能性多种多样,无法逐一描述。不过其本质还在于查看出错信息。对于英语水平高的人,最好使用英文原版,因为有些汉化版的翻译并不准确。
如果不了解出错信息的含义,可以将出错信息复制并在网上搜索,查找答案。
4 要做到快速处理,解决编译错误,最重要一点就是多写代码。出现过,解决过的问题,下次出的时候就会更容易解决。所以当把所有常见的错误都处理过后,就能做到快速查找并解决编译错误了。

❺ C语言编译时的错误

你的系统头文件应该是放在C语言编译程序安装目录的include文件夹底下,而你的C语言编译器里的系统头文件路径可能因为你改变了工作路径而改变,需要重新设置。具体设置方法如下:
Options-----Directories将第一行中的路径修改成你TC的安装目录+\INCLUDE按OK即可(如下图)

❻ 关于C语言在编译时常出现的错误有哪些

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。

寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")

2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory

不能打开包含文件“R…….h”:没有这样的文件或目录。

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: 'IDD_MYDIALOG' : undeclared identifier

“IDD_MYDIALOG”:未声明过的标识符。

7、error C2082: redefinition of formal parameter 'bReset'

函数参数“bReset”在函数体中重定义。

8、error C2143: syntax error: missing ':' before '{'

句法错误:“{”前缺少“;”。

9、error C2146: syntax error : missing ';' before identifier 'dc'

句法错误:在“dc”前丢了“;”。

10、error C2196: case value '69' already used

值69已经用过。(一般出现在switch语句的case分支中)

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'

重载的函数“void reset(int)”在类“B”中找不到。

13、error C2555: 'B::f1': overriding virtual function differs from 'A::f1' only by return type or calling convention

类B对类A中同名函数f1的重载仅根据返回值或调用约定上的区别。

14、error C2660: 'SetTimer' : function does not take 2 parameters

“SetTimer”函数不传递2个参数。

15、warning C4035: 'f……': no return value

“f……”的return语句没有返回值。

16、warning C4553: '= =' : operator has no effect; did you intend '='?

没有效果的运算符“= =”;是否改为“=”?

17、warning C4700: local variable 'bReset' used without having been initialized

局部变量“bReset”没有初始化就使用。

18、error C4716: 'CMyApp::InitInstance' : must return a value

“CMyApp::InitInstance”函数必须返回一个值。

19、LINK : fatal error LNK1168: cannot open Debug/P1.exe for writing

连接错误:不能打开P1.exe文件,以改写内容。(一般是P1.Exe还在运行,未关闭)

20、error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)"

连接时发现没有实现的外部符号(变量、函数等)。

function call missing argument list 调用函数的时候没有给参数。

member function definition looks like a ctor, but name does not match enclosing class 成员函数声明了但没有使用

unexpected end of file while looking for precompiled header directive 在寻找预编译头文件时文件意外结束,编译不正常终止可能造成这种情况

❼ 如何快速查找C语言编译时的错误

1、首先,我们启动编译软件程序,今天我们以VC++6.0为例。

注意事项:

编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。

❽ C语言编译出现错误。

你是在VC++里直接点的新建吧,这样的话它默认是新建的一个C++的源文件,C++里是没有printf的,它当然不能运行了,你可以随便在电脑里的什么地方新建一个记事本文档,然后把它的扩展名改成.c,然后再把这个.c文件用VC++来打开就可以了

❾ C语言错误大全

1、一般是你在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。

2、下面为C语言的错误大全及中文解释:
1: Ambiguous operators need parentheses — 不明确的运算需要用括号括起
2: Ambiguous symbol xxx — 不明确的符号
3: Argument list syntax error — 参数表语法错误
4: Array bounds missing — 丢失数组界限符
5: Array size toolarge — 数组尺寸太大
6: Bad character in paramenters — 参数中有不适当的字符
7: Bad file name format in include directive — 包含命令中文件名格式不正确
8: Bad ifdef directive synatax — 编译预处理ifdef有语法错
9: Bad undef directive syntax — 编译预处理undef有语法错
10: Bit field too large — 位字段太长
11: Call of non-function — 调用未定义的函数
12: Call to function with no prototype — 调用函数时没有函数的说明
13: Cannot modify a const object — 不允许修改常量对象
14: Case outside of switch — 漏掉了case 语句
15: Case syntax error — Case 语法错误
16: Code has no effect — 代码不可能执行到
17: Compound statement missing{ — 分程序漏掉"{"
18: Conflicting type modifiers — 不明确的类型说明符
19: Constant expression required — 要求常量表达式
20: Constant out of range in comparison — 在比较中常量超出范围
21: Conversion may lose significant digits — 转换时会丢失意义的数字
22: Conversion of near pointer not allowed — 不允许转换近指针
23: Could not find file xxx — 找不到XXX文件
24: Declaration missing ; — 说明缺少";"
25: Declaration syntax error — 说明中出现语法错误
26: Default outside of switch — Default 出现在switch语句之外
27: Define directive needs an identifier — 定义编译预处理需要标识符
28: Division by zero — 用零作除数
29: Do statement must have while — Do-while语句中缺少while部分
30: Enum syntax error — 枚举类型语法错误
31: Enumeration constant syntax error — 枚举常数语法错误
32: Error directive :xxx — 错误的编译预处理命令
33: Error writing output file — 写输出文件错误
34: Expression syntax error — 表达式语法错误
35: Extra parameter in call — 调用时出现多余错误
36: File name too long — 文件名太长
37: Function call missing ) — 函数调用缺少右括号
38: Fuction definition out of place — 函数定义位置错误
39: Fuction should return a value — 函数必需返回一个值
40: Goto statement missing label — Goto语句没有标号
41: Hexadecimal or octal constant too large — 16进制或8进制常数太大
42: Illegal character x — 非法字符x
43: Illegal initialization — 非法的初始化
44: Illegal octal digit — 非法的8进制数字 A
45: Illegal pointer subtraction — 非法的指针相减
46: Illegal structure operation — 非法的结构体操作
47: Illegal use of floating point — 非法的浮点运算
48: Illegal use of pointer — 指针使用非法
49: Improper use of a typedefsymbol — 类型定义符号使用不恰当
50: In-line assembly not allowed — 不允许使用行间汇编
51: Incompatible storage class — 存储类别不相容
52: Incompatible type conversion — 不相容的类型转换
53: Incorrect number format — 错误的数据格式
54: Incorrect use of default — Default使用不当
55: Invalid indirection — 无效的间接运算
56: Invalid pointer addition — 指针相加无效
57: Irrecible expression tree — 无法执行的表达式运算
58: Lvalue required — 需要逻辑值0或非0值
59: Macro argument syntax error — 宏参数语法错误
60: Macro expansion too long — 宏的扩展以后太长
61: Mismatched number of parameters in definition — 定义中参数个数不匹配
62: Misplaced break — 此处不应出现break语句
63: Misplaced continue — 此处不应出现continue语句
64: Misplaced decimal point — 此处不应出现小数点
65: Misplaced elif directive — 不应编译预处理elif
66: Misplaced else — 此处不应出现else
67: Misplaced else directive — 此处不应出现编译预处理else
68: Misplaced endif directive — 此处不应出现编译预处理endif
69: Must be addressable — 必须是可以编址的
70: Must take address of memory location — 必须存储定位的地址
71: No declaration for function xxx — 没有函数xxx的说明
72: No stack — 缺少堆栈
73: No type information — 没有类型信息
74: Non-portable pointer assignment — 不可移动的指针(地址常数)赋值
75: Non-portable pointer comparison — 不可移动的指针(地址常数)比较
76: Non-portable pointer conversion — 不可移动的指针(地址常数)转换
77: Not a valid expression format type — 不合法的表达式格式
78: Not an allowed type — 不允许使用的类型
79: Numeric constant too large — 数值常太大
80: Out of memory — 内存不够用
81: Parameter xxx is never used — 能数xxx没有用到
82: Pointer required on left side of -> — 符号->的左边必须是指针
83: Possible use of xxx before definition — 在定义之前就使用了xxx(警告)
84: Possibly incorrect assignment — 赋值可能不正确
85: Redeclaration of xxx — 重复定义了xxx
86: Redefinition of xxx is not identical — xxx的两次定义不一致
87: Register allocation failure — 寄存器寻址失败
88: Repeat count needs an lvalue — 重复计数需要逻辑值
89: Size of structure or array not known — 结构体或数给大小不确定
90: Statement missing ; — 语句后缺少";"
91: Structure or union syntax error — 结构体或联合体语法错误
92: Structure size too large — 结构体尺寸太大
93: Sub scripting missing ] — 下标缺少右方括号
94: Superfluous & with function or array — 函数或数组中有多余的"&"
95: Suspicious pointer conversion — 可疑的指针转换
96: Symbol limit exceeded — 符号超限
97: Too few parameters in call — 函数调用时的实参少于函数的参数不
98: Too many default cases — Default太多(switch语句中一个)
99: Too many error or warning messages — 错误或警告信息太多
100: Too many type in declaration — 说明中类型太多
101: Too much auto memory in function — 函数用到的局部存储太多
102: Too much global data defined in file — 文件中全局数据太多
103: Two consecutive dots — 两个连续的句点
104: Type mismatch in parameter xxx — 参数xxx类型不匹配
105: Type mismatch in redeclaration of xxx — xxx重定义的类型不匹配
106: Unable to create output file xxx — 无法建立输出文件xxx
107: Unable to open include file xxx — 无法打开被包含的文件xxx
108: Unable to open input file xxx — 无法打开输入文件xxx
109: Undefined label xxx — 没有定义的标号xxx
110: Undefined structure xxx — 没有定义的结构xxx
111: Undefined symbol xxx — 没有定义的符号xxx
112: Unexpected end of file in comment started on line xxx — 从xxx行开始的注解尚未结束文件不能结束
113: Unexpected end of file in conditional started on line xxx — 从xxx 开始的条件语句尚未结束文件不能结束
114: Unknown assemble instruction — 未知的汇编结构
115: Unknown option — 未知的操作
116: Unknown preprocessor directive: xxx — 不认识的预处理命令xxx
117: Unreachable code — 无路可达的代码
118: Unterminated string or character constant — 字符串缺少引号
119: User break — 用户强行中断了程序
120: Void functions may not return a value — Void类型的函数不应有返回值
121: Wrong number of arguments — 调用函数的参数数目错
122: xxx not an argument — xxx不是参数
123: xxx not part of structure — xxx不是结构体的一部分
124: xxx statement missing ( — xxx语句缺少左括号
125: xxx statement missing ) — xxx语句缺少右括号
126: xxx statement missing ; — xxx缺少分号
127: xxx declared but never used — 说明了xxx但没有使用
128: xxx is assigned a value which is never used — 给xxx赋了值但未用过

❿ C语言编译错误这个是为什么

第一行: 将char **类型作为第2个实参传给strcpy函数,函数第二个形参的类型是 const char *

第二行: 将char **类型作为第1个实参传给strcpy函数,函数第一个形参的类型是 char *
第三行:意思同第二行

出错的原因是,编译器检查到传给strcpy函数的实参和形参的类型不符。
建议:
检查一下程序中调用了strcpy函数的语句,确保实参的类型与strcpy函数
原型中声明的形参的类型一致。

阅读全文

与中文c语言编译错误相关的资料

热点内容
女程序员的转行方法 浏览:879
东风启辰车联网安装文件夹 浏览:520
华为怎么设置app时间锁 浏览:660
后宫app视频怎么下载 浏览:525
如何把图片转换从PDF格式 浏览:259
重写和重载的区别java 浏览:233
expressvpnandroid 浏览:84
储存卡被加密怎么解除 浏览:169
地球怎么压缩直径 浏览:780
金铲铲之战服务器爆满怎么进 浏览:160
同仁堂pdf 浏览:935
如何编译原理课程教材 浏览:730
单片机控制显示器 浏览:776
顶好花app下载怎么找不到 浏览:989
手机命令大全 浏览:808
怎么下邮政银行app 浏览:250
不背单词app单词怎么学习 浏览:481
程序员日常操作搞笑 浏览:382
android检查是否安装 浏览:375
苹果手机编辑pdf文件 浏览:460