<分区>
我正在开发我的 Arduino 项目,这是我唯一使用的 C/C++ 编译器。 我很困惑为什么我不能将结构用作我的函数参数的类型。
不确定这是否特定于 Arduino 编译器设计或一般 C/C++ 编程。
struct myStruct_t {
byte var1;
byte var2;
};
myStruct_t myStruct;
void setup() {
}
void loop() {
}
void myFunc(myStruct_t *myVar) {
int i = 0;
}
这会导致编译器错误:
错误:变量或字段“myFunc”声明为无效
错误:“myStruct_t”未在此范围内声明
错误:“myVar”未在此范围内声明
如果我注释掉“myFunc”的声明,那么它会按原样编译。 我不清楚为什么我可以声明和使用该结构的变量,但是我可以将该结构用作参数类型。 “struct”类型不作为参数使用的类型吗?
谢谢。