내가지도를 만드는 오전 : 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();
.
오타! 'TSring' ->'TString' –