C ++ ODR规则,用于模板函数的默认参数

时间:2018-04-21 16:56:05

标签: c++ templates language-lawyer

在当前的C ++标准草案中,有以下段落([temp] p.6]):

  

模板名称具有链接。具有内部链接的模板的特化(显式或隐式)与其他翻译单元中的所有特化不同。模板,模板显式特化和类模板部分特化不应具有C链接。除了“C”或“C ++”之外的链接规范与任何这些构造的使用是有条件支持的,具有实现定义的语义。模板定义应遵守单一定义规则。 [注意:函数模板和类模板的成员函数的默认参数被认为是用于模板实例化([temp.decls])的定义,并且还必须遵守单定义规则。 - 结束说明]

我不明白突出部分的含义。我怎么能使用默认参数打破一个定义规则?有没有办法“重新定义”它们?

0 个答案:

没有答案