我得到了一个(预期的)
<{1>}上的{p>,但不在警告:大整数隐式截断为无符号类型[
-Woverflow
]
Get2()
上。我很困惑为什么:
Get1()
这是一些模板化代码的简化版本,可以执行其他操作 - 没有硬编码值。 使用GCC或Clang编译时,C ++中也会发生同样的情况。
答案 0 :(得分:4)
警告is reported on the Get2
function,因为隐式转换(而不是Get1
上的显式转换)发生了,并且编译器警告您整数被截断。
未报告显式的,因为您已明确告知编译器您正在执行截断,因此在这种情况下警告可能是多余的。
答案 1 :(得分:2)