10
虚拟函数不能是constexpr
但是,当函数通过继承隐式虚拟时,我试过的编译器不会抱怨它。隐式虚拟constexpr函数
下面是一个示例代码:
class A
{
virtual void doSomething() {}
};
class B : public A
{
constexpr void doSomething() override {} // implicitly virtual constexpr
// but no compilation error
};
class C : public A
{
virtual constexpr void doSomething() override {} // explicitly virtual constexpr
// compilation error
};
我与gcc 7.2.0
和尝试过。clang 5.0.0
那些编译器在这方面不符合标准吗?或者是隐式虚拟的constexpr
函数允许吗?
[这铿锵的版本似乎抱怨(http://coliru.stacked-crooked.com/a/a3d1b1ef2348d2c2) – Borgleader
请仔细检查铛 –
这是正确的,我错铛 – MaxV37