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