我正在开发我的第一个 arduino 项目,在那里我遇到了以下我想理解的行为。以下代码编译没有问题:
enum TestEnum {TestValue1};
void test(){}
void setup(){}
void loop(){}
void foo(TestEnum &testArg) {}
Run Code Online (Sandbox Code Playgroud)
但交换前两行
void test(){}
enum TestEnum {TestValue1};
void setup(){}
void loop(){}
void foo(TestEnum &testArg) {}
Run Code Online (Sandbox Code Playgroud)
编译时会出现以下错误:
D:\Path\to\Arduino-Sketches\foo\foo.ino:5:10: error: variable or field 'foo' declared void
void foo(TestEnum &testArg) {}
^~~~~~~~
D:\Path\to\Arduino-Sketches\foo\foo.ino:5:10: error: 'TestEnum' was not declared in this scope
D:\Path\to\Arduino-Sketches\foo\foo.ino:5:10: error: note: suggested alternative: 'isalnum'
D:\Path\to\Arduino-Sketches\foo\foo.ino:5:20: error: 'testArg' was not declared in this scope
D:\Path\to\Arduino-Sketches\foo\foo.ino:5:20: error: note: suggested alternative: 'test'
void foo(TestEnum &testArg) {}
^~~~~~~
test …Run Code Online (Sandbox Code Playgroud)