이 코드를 컴파일 할 수없는 이유를 알지 못합니다. Visual C++ 2010 및 gcc에서 -std = C++ 0x로 테스트했습니다. 누구 제안 좀 줄래? 덕분에 !C++ 0x 참조 축소에 대한 질문
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;
}
컴파일 오류 : '무효 푸 :: 시험 (T)': 멤버 함수는 이미 정의 또는
을 선언하지만,이는 이유를 컴파일 할 수 있습니다?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 C + +0 기사를 읽고는 말했다 : T & & == T &, 그래서 const를 T & & ==의 CONST T &?