按照[dcl.constexpr/3]:constexpr和function body = delete:目的是什麼?
一個constexpr函數應滿足下列要求的定義:
[...]
- 其功能體應爲=刪除,=默認情況下,或[。 ..
這意味着下面的類代碼段是有效的:
struct S {
constexpr void f() = delete;
};
刪除constexpr
函數的目的是什麼?
定義它有什麼好處constexpr
如果有的話?
我找不出任何理由,但事實上,允許它比在標準中禁止它更容易。
刪除任何函數是一種簡單的方法來禁用特定的過載。我想它也應該適用於「constexpr」系列的功能。 – StoryTeller
'constexpr'函數返回'void'也是* fun *。 – Jarod42
@ Jarod42Touché。用於創建一個mvce,這很好,但它確實很有意義。 – skypjack