标签: c++11
每次编写基本接口时,我发现自己所做的一件事就是声明并定义一个纯虚析构函数。为什么C ++ 11不允许纯虚析构函数的默认定义?
struct Ibase { virtual Ibase* basefun1() = 0; virtual ~Ibase() = 0 = default; };
答案 0 :(得分:1)
当派生类的对象被销毁时,基类的析构函数始终显式调用。
因此,如果未定义,则会出现链接错误。