Я прочитал функцию 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);
}