문제

CSV 파일에서 맵을로드하는 템플릿 함수를 정의합니다.

template <class T>
bool loadCSV (QString filename, map<T,int> &mapping){
    // function here
}

그런 다음 사용하려고합니다.

map<int, int> bw;
loadCSV<int>((const QString)"mycsv.csv",&bw);

그러나 HTIS 컴파일 시간 오류를 받으십시오.

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

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

도움이 되었습니까?

해결책

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

loadCSV("mycsv.csv", bw);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top