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 ­čś×


Log in to reply