W jakim stanie generowany jest domyślny konstruktor?
Mam następującą klasę:
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&);
};
gdziesf::Texture
ma domyślny konstruktor
Z mojego zrozumienia powinien zostać wygenerowany domyślny konstruktor, ponieważ każdy element członkowski może być również zbudowany domyślnie. Jednak mam błąd kompilatora, gdy próbuję skonstruować obiekt pochodny bez wywołania aTileset
konstruktor. Czy ktoś może wyjaśnić, dlaczego nie jest generowany domyślny konstruktor?
edytuj: zapomniałem o tym wspomniećTile
klasa nie ma domyślnego konstruktora. Nie jestem pewien, czy to coś zmienia