簡體   English   中英

tuple_size的特殊化不一致

[英]Inconsistent specialization of tuple_size

當明確地為某些模板專門化tuple_sizetuple_element ,我意識到§14.5.1/ 4,它讀取

在類模板的重新聲明,部分特化,顯式特化或顯式實例化中, 類 - 密鑰應與原始類模板聲明 (7.1.6.3) 同意

似乎違反了標准本身:

在此輸入圖像描述

我在這里遺漏了一些東西(例如,標准規定了類密鑰是“僅僅是說明”並且在實際實施中是否同意)?

Bo Persson現在刪除的答案是正確的。 您引用的段落([temp.class] / p4)引用了§7.1.6.3[dcl.type.elab]的“同意實物”的定義,后者反過來說(p3,強調我的)

類鍵enum闡述類型說明符關鍵字目前應以實物,其在闡述類型說明符的名稱,是指聲明達成一致。 此規則也適用於聲明類名或友元類的elaborated-type-specifier的形式,因為它可以被解釋為引用類的定義。 因此,在任何詳細類型說明符中enum關鍵字應用於引用枚舉(7.2), union class-key應用於引用聯合(第9條),以及classstruct 類-key應用於引用使用classstruct class-key聲明的類(第9節)

如果不一致,代碼有效。

這看起來像是一個編輯缺陷。 嘗試在此處打開一個問題:

https://github.com/cplusplus/draft/issues

如果您喜歡冒險,請嘗試使用拉取請求解決它。 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM