我已经阅读了Templete函数,从推导的类型中删除了引用和cv,但是在本示例中,我将类型T推导出为const int&
您能否在描述这种情况的参考文献中为我提供帮助(cppreference或Mayers)
我正在使用MSVS 2017。
template <class T>
class MyClass {};
template <class T>
void boo(const MyClass<T>& mycl)
{
MyClass<T> mycl2; //mycl2 is MyClass<const int&> instead of MyClass<int>
T{}; //T is deduced as const int& !!!
}
void main()
{
MyClass<const int&> mycl{};
const MyClass<const int&>& mycl_ref = mycl;
boo(mycl_ref);
}