C++11 纯虚拟默认析构函数

C++11 纯虚拟默认析构函数,c++11,C++11,每次编写基接口时,我发现自己要做的一件事就是声明和定义一个纯虚拟析构函数。为什么C++11不允许纯虚拟析构函数的默认定义 struct Ibase { virtual Ibase* basefun1() = 0; virtual ~Ibase() = 0 = default; }; 当派生类的对象被销毁时,总是显式调用基类的析构函数 因此,如果未定义,将出现链接错误

每次编写基接口时,我发现自己要做的一件事就是声明和定义一个纯虚拟析构函数。为什么C++11不允许纯虚拟析构函数的默认定义

struct Ibase
{
    virtual Ibase* basefun1() = 0;
    virtual ~Ibase() = 0 = default;
};

当派生类的对象被销毁时,总是显式调用基类的析构函数

因此,如果未定义,将出现链接错误