标签: c++ c++11 templates instantiation rvalue
在以下代码中这是错误的吗?
template<class T> struct A { A(const T&); A(T&&); }; int i = sizeof(A<int&>);
编译器(gcc和clang)表明A<int&>为两个A(int&)构造函数提供了相同的签名A,但我想第一个构造函数签名必须为A(const int&) 。也许我错过了一些细节?
A<int&>
A(int&)
A
A(const int&)