以下草图无法在 Arduino 环境中编译。
鉴于typedefs 可以在 Arduino 软件中使用,自动原型生成是导致失败的底层机制吗?如果是这样,它是什么,为什么 Arduino 不提供围绕 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() {}
为了搜索引擎的利益,报告的错误是:
error: variable or field 'myFunc' declared void
error: 'MyMeaningfulType' was not declared in this scope