Здравствуйте. Вопрос, наверное, ламерский, но меня такое очень удивило.
Итак, такой код:
template<typename T>
void f(T x)
{
}
void main()
{
int i = 0;
int& ri = i;
f(ri);
}
1. Почему тип T выводится как int, а не как int&?
2. Чем руководствовались разработчики стандарта?
3. Как это обойти?
Спасибо.