error C2143: syntax error : missi 是什么错误?

2024-11-23 02:17:58
推荐回答(2个)
回答(1):

在C语言中,这是一个语法错误。

在运行程序时发现了一个问题,总是提示一个错误:error C2143: syntax error : missing before type。解决方法如下:把所有变量的声明放在可执行代码之前。

出现此问题的原因在于:将文件保存成了 .c 格式。如果是cpp格式就能正常编译。改成.cpp就可以正常运行,和你变量声明的位置就没有关系了。

一般在ANSIC或者C++中,在可执行代码中随时定义变量是允许的,但是在K&RC中是不允许的,因此才会出现这个错误VC6.0、VS2008 都是用的K&RC来实现C语言的,因此编译过程中会报错。

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台。

回答(2):

#define maxsize 100;
#define ok 1;
#define error 0;
#define overflow -1 ;
这些宏定义,把最后的分号都去掉,不然代入的时候会带个分号的。
比如:
if(!q.base) exit(overflow);

宏代入后
if(!q.base) exit(-1;); // 这边-1后面就会多一个分号,导致提示错误