Конструктор объектов Arduino в классе устанавливает значения rubbi sh - PullRequest
0 голосов
/ 30 мая 2020

В настоящее время я пытаюсь создать класс, у которого есть объект-член с конструктором, отличным от конструктора по умолчанию, для проекта 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 равен rubbi sh (случайное значение). Он уже инициализирует объект до вызова конструктора? Мое обходное решение - не использовать значения const, но должен быть способ лучше (правильный).

1 Ответ

0 голосов
/ 30 мая 2020

Вы держите указатель на MyObjClass и пытаетесь инициализировать его с помощью int, правильный путь будет my_obj(new MyObjClass(param)).

Также я бы посоветовал использовать интеллектуальные указатели, чтобы избежать утечек памяти.

...