2009-06-08 5 views
0

나는 CSV 파일에서지도를로드하는 템플릿 함수를 정의 :C++ 템플릿

error: no matching function for call to 
‘loadCSV(const QString, std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > >*)’ 

내 함수 호출이 암시 적 인수를 가져 오는 것 같지만 오류 및 해결 방법을 이해하지 못합니다. . 어떤 아이디어?

답변

3

앰퍼샌드를 삭제하면 맵에 포인터를 전달하고 싶지 않습니다 (오류 메시지 끝에 별표가 있음). 또한 문자열 리터럴을 명시 적으로 캐스팅 할 필요가 없습니다. 또한 컴파일러는 템플릿 인수를 자동으로 추론 할 수 있어야합니다.

loadCSV("mycsv.csv", bw); 
+2

아마도 loadCSV 함수는 QString이 아닌 const QString 또는 const QString &을 사용해야 할 것입니다. 그래도 중요하지는 않습니다. – ChrisInEdmonton

+0

잘 잡으려면 꼭 const에 대한 참조가되어야합니다. – avakar

+0

감사. 이제 작동합니다. – bugmenot77