我有
struct IMyInterface
{
virtual method1() = 0;
virtual method2() = 0;
};
GCC 坚持说我有
struct IMyInterface
{
virtual method1() = 0;
virtual method2() = 0;
virtual ~IMyInterface(){};
};
我不明白为什么。纯粹的界面就是界面(duh)。析构函数是接口具体实现者内部实现细节的一部分;它不构成接口的一部分。我了解整个切片问题(或者至少我认为我了解)
所以我的问题是 - 海湾合作委员会坚持这样做是否正确,如果是,为什么?