gpt4 book ai didi

c++ - C++11 中的纯虚函数

转载 作者:IT老高 更新时间:2023-10-28 12:35:02 25 4
gpt4 key购买 nike

在 C++98 中,空指针由文字 0 表示(或者实际上是任何值为 0 的常量表达式)。在 C++11 中,我们更喜欢 nullptr。但这不适用于纯虚函数:

struct X
{
virtual void foo() = nullptr;
};

为什么这不起作用?这不是完全有道理吗?这仅仅是一个疏忽吗?会修复吗?

最佳答案

因为语法是 0,而不是 expression 或其他一些非终结符匹配 nullptr

一直以来只有 0 有效。即使是 0L 也会是格式错误的,因为它与语法不匹配。

编辑

Clang 允许 = 0x0= 0b0= 00 (31.12.2013)。这是不正确的,当然应该在编译器中修复。

关于c++ - C++11 中的纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20861346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com