我在Arduino中创建了一个类,并带入了这个类。代码编译后运行正常,当:。
#include <myclass.h>
void setup(){
// Do some setup if needed
}
void loop(){
myclass newInstance;
newInstance.setSomething();
newInstance.getSomething();
}
但在以下情况下无法验证编译
#include <myclass.h>
void setup(){
myclass newInstance;
newInstance.setSomething();
}
void loop(){
newInstance.getSomething();
}
错误:"newInstance "没有在这个范围内声明。
我见过一些人在设置和循环之外进行实例化(就在include部分下面)。请解释一下创建一个实例然后在循环中使用它的最佳实践。我想在循环部分之外实例化,这样我就不会在每次循环中都创建一个实例。
你应该在全局范围内声明对象。在C++中的变量声明(Arduinos的语言基本上是C++)在以下情况下有效 范围
所以你的代码应该是这样的
#include <myclass.h>
myclass newInstance;
void setup(){
newInstance.setSomething();
}
void loop(){
newInstance.getSomething();
}