问题描述
我尝试将后缀'y'和二进制数字放在头文件的数组中,但是出现“ y附近的语法错误,预期为'}'”。
extern unsigned int A[8]={
00111100y,01100110y,01111110y,01100110y};
解决方法
文本图片中的错误可以通过以下方法解决:
- 使用正确的注释语法:
/* ... */
(故意提供古老的形式) - 使用正确的数字语法:
66 /* decimal */
或0x42 /* hexadecimal */
- 不使用后缀y,这对于上面建议的格式是不需要的
更多错误(上面未显示,但是更容易陷入陷阱)
- 避免以0开头的数字(显示的错误中未提及,但另一个陷阱)
- 标题中仅声明数组:使用
extern
但不使用= numbers;
- 在代码中的某处定义数组:不使用
extern
,但使用= numbers;
发布的语法不正确。
不能将某些内容声明为extern
并在同一条语句中对其进行初始化。
注意:extern
通常意味着实际的声明在另一个文件上,该文件将与当前文件链接。
建议:在当前文件中:
extern unsigned int smiley[8];
以及其他一些文件中
unsigned int smiley[8] =
{
0,// 00000000
1,// 00000001
};
请注意使用大括号'{'和'}',而不是括号'('')'。
在注释的开头注意斜杠的正确“倾斜”(右上角)。
y
不是标准C语法的一部分。也许是kyle编译器的扩展。但是,在研究kyle编译器文档时,我没有找到y
数据类型。