Funktionsname wird automatisch erweitert
-
Hallo
ich hab in der stdafx.h die Funktion IntToString() deklariert und in der stdafx.cpp implementiert.
in der datei LogItem.cpp befindet sich folgender Code
erg.Append(TEXT( IntToString(this->tag) + "." + IntToString(this->monat) + "." + IntToString(this->jahr) + " ")); erg.Append(TEXT( IntToString(this->stunde) + ":" + IntToString(this->minute) + ":" + IntToString(this->sekunde)));
Ich krieg jetzt den Compiler fehler Bezeichner "LIntToString" nicht gefunden .
Was soll das? ich hab den Bezeichner doch garnicht verwendet und die richtige Funktion ist vorhanden.
edit: ups meinte stdafx.h und stdafx.cpp
-
walljumper schrieb:
ich hab in der afx.h die Funktion IntToString() deklariert und in der afx.cpp implementiert.
Du hast in den "Systemdateien" rumgeändert?
Mach das mal ganz schnell wieder rückgängig, sowas funktioniert nicht.
-
oO meinte natürlich stdafx.h und stdafx.cpp.
habs geändert.
-
Das TEXT-Makro kannst du auch so nicht einsetzen - das funktioniert nur mit String-Literalen. Das heißt, du müsstest jedes der String-Literale "." und ":" in ein eigenes TEXT() einschließen.
(oder du schaust dir mal CString::Format() an)
Zur Erklärung:
TEXT ist definiert als#ifdef UNICODE #define TEXT(x) L##x #else #define TEXT(x) x #endif
Angewendet auf dein Beispiel ergibt das:
TEXT( IntToString(this->tag) + "." + IntToString(this->monat) + "." + IntToString(this->jahr) + " ") // -> LIntToString(this->tag) + "." + IntToString(this->monat) + "." + IntToString(this->jahr) + " "
Und da hast du die unbekannte Funktion, über die dein Compiler gestolpert ist.
-
ok danke
hmm ich komm mir mit der mfc wieder wie ein totaler anfänger vor