Ich definiere eine Template-Funktion, die eine Karte aus einer CSV-Datei lädt:C++ Vorlage mit Karte allocator Problem
template <class T>
bool loadCSV (QString filename, map<T,int> &mapping){
// function here
}
ich dann versuchen, es zu benutzen:
map<int, int> bw;
loadCSV<int>((const QString)"mycsv.csv",&bw);
Aber get htis Zeitfehler kompilieren :
error: no matching function for call to
‘loadCSV(const QString, std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > >*)’
es scheint, mein Funktionsaufruf ist in einigen impliziten Argumenten zu bringen, aber ich verstehe nicht den Fehler und wie man es beheben . Irgendwelche Ideen?
Auch vermutlich Ihre loadCSV-Funktion sollte const QString oder vielleicht const QString &, anstatt nur QString nehmen. Unwahrscheinlich, um bedeutend zu sein, obwohl. – ChrisInEdmonton
Guter Fang, es sollte auf jeden Fall ein Hinweis auf const sein. – avakar
Danke. Funktioniert jetzt. – bugmenot77