2012-12-05 5 views
-1

내가지도를 만드는 오전 : TString 내가 추가의 char *로 문자열을 저장한다 (그리고 몇 가지 추가 기능을 가지고 있습니다) 루트 프레임 워크 클래스는표준 : :지도 <> :: 반복자 오류

std::map<TString, TString> cuts; 

내 C++ #include "TString.h"와 코드,

그때 몇 컷의지도 요소를 만들 :

cuts["cTRIGem0"] = "eminusL0ElectronDecision_TOS>0"; 

을 그리고 상처를 통해 루프 반복자를 만들려고 :

std::map<TSring, TSring>::iterator itr = cuts.begin(); 

이 오류의 호스트를 산출 :

Wenu.cpp:561:12: error: ‘TSring’ was not declared in this scope 
Wenu.cpp:561:26: error: template argument 1 is invalid 
Wenu.cpp:561:26: error: type/value mismatch at argument 2 in template parameter list for ‘template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map’ 
Wenu.cpp:561:26: error: expected a type, got ‘TSring’ 
Wenu.cpp:561:26: error: template argument 3 is invalid 
Wenu.cpp:561:26: error: template argument 4 is invalid 
Wenu.cpp:561:38: error: expected initializer before ‘itr’ 

내가 키워드 typename 도움이 될 수 있음을 어딘가에 보았다. 그래서 반복자 선언에 추가 :이 오류를 해결하고 내 반복자 작업을하는 방법에 어떤 도움이 많이 주시면 감사하겠습니다

Wenu.cpp:561:44: error: wrong number of template arguments (1, should be 4) 
/cvmfs/lhcb.cern.ch/lib/lcg/external/gcc/4.6.2/x86_64-slc5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/bits/stl_map.h:88:11: error: provided for ‘template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map’ 
Wenu.cpp:561:56: error: expected initializer before ‘itr’ 

: 새로운 오류를 준

std::map<typename TSring, typename TSring>::iterator itr = cuts.begin(); 

.

+1

오타! 'TSring' ->'TString' –

답변

3

철자가 잘못되었습니다. TString이 아니라 TSring이 필요합니다.

+1

그래, 그게 다야. 오늘 아침 난독증이 ... – mareks

관련 문제