【发布时间】:2019-07-08 17:42:02
【问题描述】:
让我们考虑以下代码:
template<typename T>
void f(T&);
int x=0;
int y=1;
f(x+y);
此代码似乎发生了类型推断。但为什么?没有参考折叠规则会在最后产生 int&&。
【问题讨论】:
-
您是否偶然使用了 MSVS?
-
我在尝试编译时遇到错误,如预期的那样
-
g++;铛; MSVC 全部报告错误 - 实时:godbolt.org/z/QwHqvk
-
@Richard Critten 但我没有说它可以编译。问题是在拒绝该代码之前是否执行类型推导。
标签: c++ c++11 rvalue-reference type-deduction