Unter welcher Bedingung wird der Standardkonstruktor generiert?

Ich habe folgende Klasse:

class Tileset { //base class

public:
    static std::vector<Tileset*> list;
    virtual ~Tileset() = 0;

protected:
    std::vector<Tile> tiles_list;
    sf::Texture sheet;

private: //non copiable
    Tileset(const Tileset&);
    Tileset& operator=(const Tileset&);
};

wohersf::Texture hat einen Standardkonstruktor

Nach meinem Verständnis sollte ein Standardkonstruktor generiert werden, da jedes Mitglied auch standardmäßig erstellt werden kann. Ich habe jedoch einen Compilerfehler, wenn ich versuche, ein abgeleitetes Objekt zu erstellen, ohne a aufzurufenTileset Konstrukteur. Kann jemand erklären, warum kein Standardkonstruktor generiert wird?

edit: habe vergessen das zu erwähnenTile Klasse hat keinen Standardkonstruktor. Ich bin mir nicht sicher, ob das irgendetwas ändert

Antworten auf die Frage(3)

Ihre Antwort auf die Frage