类中的 Arduino 对象构造函数设置垃圾值



我目前正在尝试创建一个类,该类具有一个成员对象,该对象具有Arduino项目的非默认构造函数。该对象是一个指针,以便我可以在构造MyClass时构造(MyObjClass *my_obj;)

// MyObjClass:
class MyObjClass(){
const int param;
public: 
MyObjClass(const int param): param(param){ ... }
};
// MyClass:
class MyClass(){
MyObjClass *my_obj;
public:
MyClass::MyClass(const int param): my_obj(param){ ... }
};

它构建得很好,但my_obj中的值参数是垃圾(随机值(。它是否已经在构造函数调用之前初始化了对象?我的解决方法是不使用const值,但必须有更好的方法(正确的方法(。

你拿着指向MyObjClass的指针,并试图用一些int来初始化他, 正确的方式将是my_obj(new MyObjClass(param)).

此外,我建议使用智能指针来避免内存泄漏。

最新更新