2013-10-19 4 views
0

난 그냥 일할 수있는 반복자를 받고 문제의 비트를 가진 부스트 :: ptr_vector 및 메신저의 컨테이너 클래스를 만들려고 노력하고 있어요 .. 여기부스트에 대한 컨테이너 클래스를 만드는 :: ptr_vector

는 멤버 중 하나입니다 내가 무엇입니까

//data is of type boost::ptr_vector<T> 
//Date is a custom date class that i made with > operator overloaded 

template <class T> 
void P_VContainer<T>::addElementByDate(T* item) 
{ 
    boost::ptr_vector<T>::iterator it; 

    for(it = data.begin(); it < data.end(); it++) 
    { 
     T temp = *it; 
     Date = *lhs = item->getDate(); 
     Date = *rhs = item.getDate(); 

     if(*lhs > *rhs) 
     { 
      data.insert(it, item); 
      return; 
     } 
    } 
    data.insert(it, item); 
} 

오류는 다음과 같습니다 :이 문제를 해결하는 방법에

p_vcontainer.cpp: In member function ‘void P_VContainer<T>::addElementByDate(T*)’: 
p_vcontainer.cpp:52:2: error: need ‘typename’ before ‘boost::ptr_vector<T>::iterator’ because ‘boost::ptr_vector<T>’ is a dependent scope 
p_vcontainer.cpp:52:33: error: expected ‘;’ before ‘it’ 
p_vcontainer.cpp:54:7: error: ‘it’ was not declared in this scope 

어떤 아이디어 기능을 구현하려고 메신저?

답변

1

캡틴 구조를 알기!

필요 '유형 이름' '부스트 : : ptr_vector : : 반복자'바보 .. 헤헤, 당신이 couldnt는 경우 난 그냥 템플릿을 배우고에게 무엇을

쓰기 typename boost::ptr_vector<T>::iterator it;

+0

감사를 전 : 디 – guskenny83