Bản phác thảo sau đây không biên dịch được trong môi trường Arduino.Tại sao tôi không thể truyền typedef hoặc enum trong Arduino?
Cho rằng typedefs can be used within Arduino software, là Tự động tạo mẫu thử nghiệm cơ chế cơ bản gây ra lỗi? Nếu vậy, nó là gì và tại sao không phải là Arduino cung cấp một wrapper nhẹ xung quanh C + +?
#define PRODUCE_WACKY_COMPILETIME_ERROR
typedef int MyMeaningfulType;
#ifndef PRODUCE_WACKY_COMPILETIME_ERROR
void myFunc(MyMeaningfulType myParam);
#endif
void myFunc(MyMeaningfulType myParam)
{
myFunc(10);
}
void setup() {}
void loop() {}
Đối với lợi ích của công cụ tìm kiếm, các lỗi được báo cáo là:
error: variable or field 'myFunc' declared void
error: 'MyMeaningfulType' was not declared in this scope