6
나는 다음과 같은 이상한 행동을 관찰 4.7 : 사용자 정의 변환이 필요한 경우C++ 과부하 해상도, - 정의 변환 기능 템플릿 g ++ 3.4으로
는 함수 템플릿이 일치하지 않는 경우 일반 함수가됩니다. C++ 98 표준에서 해당 규칙을 찾을 수 없습니다. g ++가 맞습니까? (가정 할 때)? 아니면 버그입니까?
template <class T>
int x(auto_ptr_ref<T> p)
{
return 1;
}
// this would match
/*
int x(auto_ptr_ref<int> p)
{
return 2;
}
*/
void dummy()
{
cout << x(auto_ptr<int>()) << endl;
}