Custom class unique ptr problem

Custom class unique ptr problem
XA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
0

Witam mam problem z takim codem

Kopiuj
class Menu {
    public:
        Menu(){};
        void addMenuItem(const MenuItem&);

    private:
        std::vector<MenuItem> menuItems;
}

implementacja:

Kopiuj
void Menu::addMenuItem(const MenuItem& menuItem) {
    this->menuItems.push_back(menuItem);
}

tak uruchamiam:

Kopiuj
std::unique_ptr<Menu> menu;
    for(int i=0; i < 5;++i) {
        MenuItem menuItem(i, "ItemNew ");
        menu->addMenuItem(menuItem);
}

wyskakuje mi segmentation
fault przy addMenuItem ;/

Craith
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 146
1

Musisz zainicjalizować zmienna menu. Obecnie smart pointer trzyma nullptr, a nie instance klasy Menu

Tenonymous
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 425
0
Kopiuj
std::unique_ptr<Menu> menu = std::make_unique<Menu>();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.