我对C++有问题
也:
- 我有一个变量,一个全局变量
- 我有Arduino Uno的LiquidCrystal
我会:
- 全局变量应在方法中初始化。
我的代码:
声明
LiquidCrystal lcd;
Initialazion
void Crystal::begin(){
lcd = LiquidCrystal(1,2,3,4,5,6);
}
错误: 初始化!
我的问题:
如何在方法中初始化任何未初始化的全局变量?
由于构造函数参数旨在设置 LCD 的 IO 引脚配置,并且这些是编译时常量,因此我看不出无法立即初始化全局对象的原因:
LiquidCrystal lcd(1, 2, 3, 4, 5, 6);
如果必须在函数void Crystal::begin()
中完成,那么唯一的选择是动态创建对象。
LiquidCrystal *lcd;
void Crystal::begin()
{
lcd = new LiquidCrystal(1, 2, 3, 4, 5, 6);
}
只需确保在完成对象后将其删除即可。当然,如果对象必须永远存在,这是可能的,因为它是全局的,而且这是一个嵌入式项目,所以程序永远不会真正结束,那么你就不必删除它。