Numerische Ausgabe ohne Konvertierung



  • **Hallo C++ Freuende!!!
    **
    Ich habe eine Frage die mich schon öfteren gefragt:
    Warum ist das so, dass bei der Ausgabe von Werten die numerisch sind nicht immer eine Umwandlung in ein String notwendig ist?

    Int zahl=100;
    ShowMessage(zahl); // Keine Fehlermeldung!
    
    ShowMessage(IntToStr(zahl));  // richtige Variante
    

    Vielen Dank
    Coder24h



  • Weil der copy-Konstruktor von AnsiString für int überladen ist.



  • Hei Braunstein

    kannst du vielleicht etwas mehr dazu sagen, ich habe gerade ausprobiert ob eine double oder float Variable auch so einfach ausgegeben werden kann. Und ja, hier meckert der Compiler auch nicht!

    Vielen Dank
    coder24h



  • Was gibt's da gross mehr zu zu sagen?
    Schreib AnsiString() in den Editor, setz den Cursor in die Klammer und aktiviere die CodeInsight-Hilfe (Strg-Shift-Leertaste), dann siehst du alle akzeptierten Konstruktor-Parameter.
    Oder du rechstklickst auf das AnsiString und lässt dir die Deklaration anzeigen, da gibt's dann auch noch die Operatoren usw.



  • Ok, ich danke Euch beiden sehr!


Anmelden zum Antworten