Ich versuche, eine Zeichenfolge in eine Zahl zu konvertieren. Dafür fand ich die folgende Art und Weise:Kompilierfehler mit Vorlagen - keine passende Funktion für Anruf
#include <iostream>
#include <string>
template <typename T>
T stringToNumber(const std::string &s)
{
std::stringstream ss(s);
T result;
return ss >> result ? result : 0;
}
int main()
{
std::string a = "254";
int b = stringToNumber(a);
std::cout << b*2 << std::endl;
}
Das Problem ist, dass ich die folgende Störung erhalte:
error: no matching function for call to ‘stringToNumber(std::string&)’
jemand May mir sagen, warum ich solche Fehler und wie sie beheben es immer bin?
Vielen Dank im Voraus.
Es sollte der Fehler mehr sein, wie die Tatsache, dass 'T' nicht abgeleitet werden kann. – chris
Sie müssen möglicherweise # # 'oben einschließen, um auch std :: stringstream in Ihren Bereich zu bekommen. –
Yep, erkannte ich, sobald ich es behoben :) – XNor