나는이 함수를 선언하는 것을 시도하고있다 :C++ 템플릿과 반복자
template <typename T> void hi(std::map<T,double> m,std::vector<std::map<T,double>::iterator > vec)
{
//....
}
내가지도이지도에 반복자의 벡터를 매개 변수로 함수가 갖고 싶어. 그러나 g의 ++ 컴파일러는 그것을 좋아하지 않는 것 나는 다음과 같은 오류가 나타납니다
type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, class _Alloc> class std::vector’
: error: expected a type, got ‘std::map::iterator’
: error: template argument 2 is invalid
어떤 도움하세요?
당신은'typename'을 사용해야합니다. –
이미 선언문에서 사용하고 있습니다 만, 아마도 다른 것을 의미합니다. – volatile
BTW, 정말 큰 데이터 구조를 값으로 전달 하시겠습니까? – TemplateRex