StehtimSchilf
Erfahrenes Mitglied
Hi Forum
ich hab mich nun durch das C++-Buch geackert und bin nun bei "Template-Funktionen" und Co. angelangt.
Beispiele in den Bücher sind ja immer schön und gut, doch m.E. etwas Praxis fern.
Ich möchte mir eine ToNumber()-Funktion schreiben:
template <typename T>
Dies habe ich in eine eigenes Modul "ConversionFunctions.cpp" gepackt. Zugehörige Header-Datei "ConversionFunctions.h":
Kompiliere ich das ganze und führe das Prog aus, funktioniert alles wunderbar. Sobald ich jedoch irgendwo im Code dann:
oder
aufrufe
erhalte ich error LNK2028: unresolved token.... und error LNK2019: unresolved external symbol.
Interessanterweise hat das Ganze mal funktioniert (heisst, konnte die Funktion verwenden). Aber irgendwie nach etwas gebastel wieder nicht mehr!
Was mach ich denn nun wieder falsch?
ich hab mich nun durch das C++-Buch geackert und bin nun bei "Template-Funktionen" und Co. angelangt.
Beispiele in den Bücher sind ja immer schön und gut, doch m.E. etwas Praxis fern.
Ich möchte mir eine ToNumber()-Funktion schreiben:
template <typename T>
Code:
T ToNumber(std::wstring s) {
T num = 0;
// TODO: isNumeric()-Fkt schreiben und verwenden
if (s.length() == 0) {
// NaN
} else {
std::wistringstream ss(s);
ss >> num;
}
return num;
}
Dies habe ich in eine eigenes Modul "ConversionFunctions.cpp" gepackt. Zugehörige Header-Datei "ConversionFunctions.h":
Code:
template <typename T>
T ToNumber(std::wstring s);
Kompiliere ich das ganze und führe das Prog aus, funktioniert alles wunderbar. Sobald ich jedoch irgendwo im Code dann:
Code:
int c = ToNumber<int>(TEXT("324234"));
Code:
int c = ToNumber<double>(TEXT("3.1415"));
erhalte ich error LNK2028: unresolved token.... und error LNK2019: unresolved external symbol.
Interessanterweise hat das Ganze mal funktioniert (heisst, konnte die Funktion verwenden). Aber irgendwie nach etwas gebastel wieder nicht mehr!
Was mach ich denn nun wieder falsch?