我遇到了C ++的问题
此外:
我需要:
我的代码:
声明
LiquidCrystal lcd;
Initialazion
void Crystal::begin(){
lcd = LiquidCrystal(1,2,3,4,5,6);
}
错误: Initialazion!
我的问题:
如何在方法中初始化任何未初始化的全局变量?
答案 0 :(得分:1)
由于构造函数参数用于设置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);
}
确保在完成后删除对象。当然,如果对象必须永远存在,这是可能的,因为它是全局的,这是一个嵌入式项目,所以程序永远不会真正结束,那么你就不必删除它。