TransWikia.com

Ошибка при добавлении элемента в динамический массив абстрактного класса c++ arduino

Stack Overflow на русском Asked on February 3, 2021

Есть массив абстрактного класса:

GameBase **games = new GameBase*[5];

Сам абстрактный класс (если надо):

class GameBase
{
private:
 bool End;
public:
 virtual void Init(TFT_eSPI *_tft) = 0;
 virtual void Update() = 0;
 virtual void ButtonPressed() = 0;
 virtual void Exit() = 0;

 virtual ~GameBase();

 void Run(TFT_eSPI *_tft);
};

Если добавлять новый элемент в массив, то возникает ошибка при компиляции:

Snake snake;
games[0] = &snake;

Ошибка:

collect2.exe: error: ld returned 1 exit status
*** [.piobuildnodemcuv2firmware.elf] Error 1

Класс змейки:

class Snake : public GameBase
{
private:
  TFT_eSPI *tft;
public:

  void Init(TFT_eSPI *_tft) override;
  void Update() override;
  void ButtonPressed() override;
  void Exit() override;
};

(уверен, что ошибка именно из-за этого, т.к. если не добавлять элемент, то все компилируется)

Что не так? Заранее спасибо!

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP