Em que condição o construtor padrão é gerado?

Eu tenho a seguinte classe:

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&);
};

Ondesf::Texture tem um construtor padrão

Pelo que entendi, um construtor padrão deve ser gerado, já que todos os membros podem ser construídos por padrão também. No entanto, eu tenho um erro de compilador quando tento construir um objeto derivado sem chamar umTileset construtor. Alguém pode explicar por que nenhum construtor padrão é gerado?

edit: esqueceu de mencionar queTile classe não tem um construtor padrão. Não tenho certeza se isso muda alguma coisa

questionAnswers(3)

yourAnswerToTheQuestion