私人删除运算符complie-time错误与gcc,但不是clang

时间:2018-06-28 14:36:34

标签: c++ c++11 gcc clang

这是对this question

的跟进

在使用nothrow分配器时,代码将使用clang6.0.0进行编译,而不能使用gcc8.1进行编译

#include <new>

class X {
   public:
      X() noexcept { }    
   private:
      static void operator delete(void*) { }
};

int main() { 
    X* x = new(std::nothrow) X{}; 
}

demo

哪个编译器是正确的?

0 个答案:

没有答案