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