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

标签 c++ visual-c++ clion virtual-functions pure-virtual

<分区>

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

    virtual ~A() = 0 {};

这很好,但在 Clion 中不要接受 我收到以下消息:

pure-specifier on function-definition virtual ~A() = 0{ };

它迫使我为该函数编写一个不同的实现(不是很麻烦,但我想知道为什么会这样)

最佳答案

来自 C++ 20(11.6.3 抽象类)

  1. ...[Note: A function declaration cannot provide both a pure-specifier and a definition — end note] [Example:
struct C {
  virtual void f() = 0 { }; // ill-formed
};

— end example]

关于c++ - c++ Clion 和 VS2019 中的纯虚拟析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097214/

相关文章:

c++ - Clion 未定义函数引用

c++ - 在boost中只写内存映射?

c++ - 在数据结构中保存成员的替代方法

c++ - 为什么 VC++ 允许没有完整模板参数的模板类实例?

git - 如何在 CMake 中使其可执行之前检查文件是否存在

c++ - 在 CLion (MacOS) 中使用 OpenGL 和 GLUT 库时出现链接错误

c++ - gcc 找不到要链接的库

c# - 为什么使用C++而不是C#来进行驱动级编程(系统级编程)

C++11 - 使用 decltype 函数指针有什么问题?

c++ - Visual Studio 自动设置下一行花括号格式