"error expected expression before '{' token"
"error expected expression before '{' token"
我试图声明全局外部数组并在另一个文件中定义它,但出现错误。请在下面找到代码片段
在.h
extern unsigned int HoldingRegisters[2];
in.c
HoldingRegisters={2,0};
“'{'标记前的错误预期表达式”
提前致谢
这个记录在头文件中in.h
extern unsigned int HoldingRegisters[2];
是一个数组的声明,而不是它的定义。
在文件in.c
中除了声明你还需要定义数组
unsigned int HoldingRegisters[2] = {2,0};
这个定义必须放在任何函数之外的文件范围内,例如
#include "in.h>
unsigned int HoldingRegisters[2] = {2,0};
//...
否则您应删除此记录)
HoldingRegisters={2,0};
表示尝试将花括号列表赋值给数组类型的变量HoldingRegisters
。但是数组是 non-modifiable 左值。也就是说,它们没有复制赋值运算符,而且在赋值中你需要使用表达式,而大括号列表不是表达式。
我试图声明全局外部数组并在另一个文件中定义它,但出现错误。请在下面找到代码片段
在.h
extern unsigned int HoldingRegisters[2];
in.c
HoldingRegisters={2,0};
“'{'标记前的错误预期表达式”
提前致谢
这个记录在头文件中in.h
extern unsigned int HoldingRegisters[2];
是一个数组的声明,而不是它的定义。
在文件in.c
中除了声明你还需要定义数组
unsigned int HoldingRegisters[2] = {2,0};
这个定义必须放在任何函数之外的文件范围内,例如
#include "in.h>
unsigned int HoldingRegisters[2] = {2,0};
//...
否则您应删除此记录)
HoldingRegisters={2,0};
表示尝试将花括号列表赋值给数组类型的变量HoldingRegisters
。但是数组是 non-modifiable 左值。也就是说,它们没有复制赋值运算符,而且在赋值中你需要使用表达式,而大括号列表不是表达式。