2013-09-25 5 views
0

나는 컨테이너 클래스과 같이 있습니다 템플릿 중첩 클래스 유형의 함수에 대한 인수를 어떻게 선언합니까?

template<class T> 
class MyList 
{ 
    class iterator 
    { 
     ... 
    } 

    ... 
} 

지금 내가 그렇게 같은 find 함수를 정의 할 :

template<class T> 
typename MyList<T>::iterator find (
    MyList<T>::iterator first, 
    MyList<T>::iterator last, 
    const T& val) 
{ 
    ... 
} 

이 컴파일되지 않습니다. 유형 인자 MyList<T>::iterator의 함수 인자를 어떻게 선언합니까?

답변

2

형식을 언급하고 있음을 컴파일러에 알리려면 인수 유형을 typename으로 정규화해야합니다.

template<class T> 
typename MyList<T>::iterator find (
    typename MyList<T>::iterator first, 
    typename MyList<T>::iterator last, 
    const T& val) 
{ 
    ... 
} 
관련 문제