error C2143: syntax error : missing ')' before 'constant'是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C2143: syntax error : missing ')' before 'constant'是啥意思相关的知识,希望对你有一定的参考价值。

意思就是:语法错误,在常量之前少了个右括号,找到错误,补上括号即可 参考技术A 少一个左括号呀。

Keil C51编译报错error C141: syntax error

错误代码:

 

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan()
3 {
4     GPIO_KEY = 0x0f;
5     uchar key_value = 0; // 报错行
6     // 省略
7     return key_value;
8 }

 

错误信息:

key_array.c(44): error C141: syntax error near ‘uchar’

错误原因:

由于Keil、ADS等某些遵循老的C标准的编译器,在函数定义的内部,必须把所有的局部静态变量和自动变量都声明/定义了之后,然后才能开始后续的代码书写,否则编译器会报错,将代码更改如下后,编译正确。

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan() 
3 {
4     uchar key_value = 0;  // 必须在函数开始出定义所有变量
5     GPIO_KEY = 0x0f;
6     // 省略
7     return key_value;
8 }

 

以上是关于error C2143: syntax error : missing ')' before 'constant'是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

error C2143: syntax error : missi 是啥错误?

C语言问题,error C2143: syntax error : missing ';' before 'type'啥意思?

error C2143: syntax error : missing ';' before '{'

error C2143: syntax error : missing ')' before ''是啥意思

一个关于调用函数函参写void的错误error C2143 syntax error missing ')' before 'type'

未声明的标识符 error c2065 c2143