2024年6月5日发(作者:)
第三章 VC++ 6.0常见编译错误
第三章 VC++ 6.0常见编译错误
[错误类型1]
error C2143: syntax error : missing ';' before identifier 'scanf'
语法错误:在'scanf'之前缺少“;”
出错实例: int n
scanf(“%d”, &n);
[错误类型2]
error C2065: 'A' : undeclared identifier
标识符A未声明
出错实例: int a;
[错误类型3]
error C2065: 'sqrt' : undeclared identifier
标识符sqrt未定义(原因:未包含
[错误类型4]
error C2296: '%' : illegal, left operand has type 'float'
error C2297: '%' : illegal, right operand has type 'float'
非法, '%'运算符的左右操作数不是整型
出错实例: float a = 10, b = 2;
scanf(“%d”, &A);
第三章 VC++ 6.0常见编译错误
printf(“%dn”, a % b);
[错误类型5]
error C2440: '=' : cannot convert from 'char [2]' to 'char'
不能将字符串转换成字符
出错实例: char ch;
[错误类型6]
error C2181: illegal else without matching if
else子句没有匹配的if
[错误类型7]
error C2196: case value '1' already used
case 1: 已经被使用(原因:有相同的case 常量)
[错误类型8]
error C2078: too many initializers
初始化值太多
出错实例:int a[5] = {1, 2, 3, 4, 5, 6};
[错误类型9]
error C2105: '++' needs l-value
++运算只能作用于左值(常量不能作左值)
ch = “a”;
第三章 VC++ 6.0常见编译错误
出错实例: int a[]= {1, 2, 3, 4, 5};
int *pa = ++a; // 数组名是地址常量,不能作左值
[错误类型10]
error C2117: 'Hello' : array bounds overflow
数组边界溢出
出错实例: char str[5] = "Hello";
[错误类型11]
error C4716: 'Function' : must return a value
函数Function()必须返回一个值
出错实例:int Function(int n) // 函数定义,返回值类型:int 类型
[错误类型12]
error C2562: 'Function' : 'void' function returning a value
无返回值的函数Function()返回了一个值
出错实例: void Function(int n) // 函数定义,无返回值
{
{
…………
return; // 不返回值,语法错误,应为:return 表达式;
}
第三章 VC++ 6.0常见编译错误
}
…………
return (n % 10); // 有返回值,语法错误,应为:return;
[错误类型13]
error C2447: missing function header (old-style formal list?)
缺少函数头
出错实例: void Function(int n);
[错误类型14]
error C2082: redefinition of formal parameter 'n'
重定义了参数n
出错实例: void Function(int n)
[错误类型15]
}
return;
{
int m, n; // 局部变量n与参数n同名
{
}
„„„
return;
// 都是“;”惹的祸
第三章 VC++ 6.0常见编译错误
error C2601: 'Function' : local function definitions are illegal
函数Function()定义是非法的(原因:出现嵌套定义)
[错误类型16]
error C2065: 'Function' : undeclared identifier
函数Function()未声明(原因:先使用后声明或定义)


发布评论