c ++ Clion和VS2019中的纯虚拟析构函数

yao*_*dav 3 c++ virtual-functions pure-virtual visual-c++ clion

我正在尝试声明纯虚拟析构函数,在VS2019中我这样写:

    virtual ~A() = 0 {};
Run Code Online (Sandbox Code Playgroud)

很好,但是在Clion中,我接受了以下消息:

函数定义虚拟的纯说明符〜A()= 0 {};

并且迫使我为该函数编写不同的实现(不是给它带来很多麻烦,而是我想知道为什么会这样)

Vla*_*cow 5

从C ++ 20开始(11.6.3抽象类)

  1. ... [注意:函数声明不能​​同时提供纯说明符和定义-尾注] [示例:
struct C {
  virtual void f() = 0 { }; // ill-formed
};
Run Code Online (Sandbox Code Playgroud)

—结束示例]