当前位置: 技术问答>linux和unix
LINUX C编程错误的一个问题
来源: 互联网 发布时间:2017-01-10
本文导语: 错误是 error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘buf1’ 对应代码是一个全局数组的定义 uCHAR buf1[800*RATE*SIZE*CHANNELS/8]; 如果改成 int buf1[] 那就编译的过去 想请教一下各位高人 为什...
错误是 error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘buf1’
对应代码是一个全局数组的定义
uCHAR buf1[800*RATE*SIZE*CHANNELS/8];
如果改成 int buf1[] 那就编译的过去
想请教一下各位高人 为什么会出现这个错误 是不是 uCHAR型没有定义
但 其他程序 确实 使用了 uCHAR型 而且 确实可以运行了:(
谢谢
对应代码是一个全局数组的定义
uCHAR buf1[800*RATE*SIZE*CHANNELS/8];
如果改成 int buf1[] 那就编译的过去
想请教一下各位高人 为什么会出现这个错误 是不是 uCHAR型没有定义
但 其他程序 确实 使用了 uCHAR型 而且 确实可以运行了:(
谢谢
|
我看就是uCHAR没定义。
在这行之前加一行 typedef unsigned char uCHAR;
多半就能编过了。
至于其他程序使用了uCHAR型,可能就是包含头文件之类的原因。
还可以试试写这么一行
aaaa buf1[];
编译器给出的错误一样,还是expected ‘=’ ......
编译器的思路和人还是很不一样的。有时候对人来说一眼就能看出来的很小的问题,比如少了一个分号或者大括号,编译器能报出来上百个莫名其妙的错误。
在这行之前加一行 typedef unsigned char uCHAR;
多半就能编过了。
至于其他程序使用了uCHAR型,可能就是包含头文件之类的原因。
还可以试试写这么一行
aaaa buf1[];
编译器给出的错误一样,还是expected ‘=’ ......
编译器的思路和人还是很不一样的。有时候对人来说一眼就能看出来的很小的问题,比如少了一个分号或者大括号,编译器能报出来上百个莫名其妙的错误。