[dcl.fct.default]/3(重點是我的):我不明白,在[dcl.fct.default]最後一句/ 3
默認參數應的 參數聲明子句中只規定函數聲明或lambda聲明符或模板參數(14.1)中的函數聲明或 ;在後者 的情況下,初始化子句應該是一個賦值表達式。 A 默認參數不應被指定爲參數包。 如果在參數聲明子句中指定了 ,那麼在 參數聲明的聲明符或抽象聲明符中不應出現 。
上面的最後一句說,如果在參數聲明子句指定一個默認參數,應不出現說明符或抽象說明符中,參數聲明的吧。然而,當我在看參數聲明的定義,我覺得在[dcl.fct]/3以下(重點是我的):
參數聲明:
屬性說明符seqopt DECL-specifier- SEQ 聲明符
屬性說明符-seqopt DECL說明符-SEQ說明符= 初始化子句
屬性說明符-seqopt DECL說明符-SEQ 抽象declaratoropt
屬性說明符-seqopt DECL說明符-SEQ 抽象declaratoropt = 初始化子句
我明白了。謝謝。 – Alexander