|
|
1
4
尤里卡!我终于谈到了相关的段落,[临时规范]/5
所以显式模板实例化定义(不是隐式实例化)会导致ODR冲突,不需要诊断(至少gcc和clang-ld工具链不会产生诊断) |
|
|
2
0
下面解释第一个和第三个案例,以及为什么它们违反了NDR的ODR
不 当这些专门化在所有实例化点的意义相同时,违反ODR。
第二种情况并不违反ODR,因为这些TU中实例化的含义是相同的。
但是最后一个肯定是无效的(违反ODR NDR),因为即使函数模板有相同的签名,它们的实例化也会有不同的含义。你不能传递你得到的结果,标准不能保证这些违规行为发生时的行为。
|