C++中的一个定义规则究竟是什么意思?我能找到的唯一值得信赖的事件是在C++编程语言中,第3版.编辑,第9.2.3节.除了那个规则之外,该规则是否有官方定义?
ice*_*ime 31
事实是标准(3.2一个定义规则):
任何翻译单元都不得包含任何变量,函数,类类型,枚举类型或模板的多个定义.
[...]
每个程序应该只包含该程序中使用的每个非内联函数或对象的一个定义; 无需诊断.该定义可以在程序中明确显示,可以在标准或用户定义的库中找到,或者(在适当的时候)隐式定义(见12.1,12.4和12.8).内联函数应在每个使用它的翻译单元中定义.