Non so perché questo codice non possa essere compilato. Ho provato in Visual C++ 2010 e gcc con -std = C++ 0x. qualcuno ti da qualche suggerimento? grazie!Domanda su C++ 0x reference collapse
template<typename T>
class Foo
{
public:
void test(const T&){cout<<"const";}
void test( T&){cout<<"non const";}
};
int main()
{
int a;
Foo<int&> f;
}
errore di compilazione: 'vuoto Pippo :: test (T)': funzione membro già definito o dichiarata
ma perché questo può essere compilato?
template<typename T> void foo(const T&){cout<<"const"; }
template<typename T> void foo(T&){cout<<"non const"; }
int main()
{
int a;
foo<int&>(a);
}
i'v Leggi C++ 0x articolo diceva: T & & == T &, così const T & & == const T &?