在下面的简单代码片段中:
#include <cstddef>
struct B
{
virtual ~B() = default;
static void operator delete(void *, int);
static void * operator new(size_t, int);
};
struct C : B
{
virtual ~C() = default;
};
Run Code Online (Sandbox Code Playgroud)
clang 3.7抱怨"未删除的功能'〜C'无法覆盖已删除的功能":http: //goo.gl/Ax6oth
Visual Studio和GCC都没有在此代码中报告错误.这是一个铿锵的缺陷还是什么?