我有以下课程:
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&);
};
wheresf::Texture
有一个默认构造函数
据我了解,应该生成一个默认构造函数,因为每个成员也可以默认构造。然而,当我尝试在不调用Tileset
构造函数的情况下构造派生对象时出现编译器错误。有人可以解释为什么没有生成默认构造函数吗?
编辑:忘了提到Tile
该类没有默认构造函数。我不确定这是否会改变