Ker*_* SB 6 c++ rvalue-reference overload-resolution c++11 universal-reference
考虑这两个重载:
template <typename T> void foo(T &) {}
template <typename T> void foo(T &&) {}
Run Code Online (Sandbox Code Playgroud)
它们可能含糊不清吗?
下面的代码用Clang 3.4编译,但是GCC 4.8失败了,它说过载(第一个带有T = int,第二个有T = int&)是不明确的.
int main()
{
int n = 10;
foo(n);
}
Run Code Online (Sandbox Code Playgroud)
我意识到"绑定到引用"在重载分辨率方面是一个"完全匹配",所以我想这个问题归结为一个推论T = int/ T = int&优于另一个,或者它们是否同样好.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |