考虑下面的代码。那里发生了什么?
#include <iostream>
#include <stdio.h>
using namespace std;
template<class T>
void test(T &t) // but why int&& is valid here,when instantiated with test<int&>??
{
puts("T&");
}
int tref(int&& param) //compile error
{
puts("tref&");
}
int main()
{
int i;
test<int&>(i);
}