Fehlermeldung C2593 in Visual Studio .NET



  • Nachdem mir Gestern hier so klasse geholfen wurde 😃 , hier ein weiteres Problem. 😕

    Ich habe eine Funktion geschrieben um LongInteger Zahlen in Strings (CString) umzuwandeln. Diese kann ich unter Visual C++ 6.0 ohne weiteres kompilieren. Aber zuhause, mit Visual Studio .NET, kommte es zu folgender Fehlermeldung 😡 :

    d:\Programmieren\graftab\konvert_.cpp(44): error C2593: 'Operator =' ist mehrdeutig

    Dies bezieht sich auf die Zeile:

    StringZahl = (zahl + '0');

    'StringZahl' ist vom Typ 'CString' und
    'zahl' ist vom Typ 'long'

    Um das Problem zu umgehen habe ich die Zeile folgendermaßen geändert:

    abc = (zahl + '0');
    StringTemp = abc;

    abc ist vom Typ 'char'

    Dann kommt es allerdings zu einer Warnung mit sinngemäß folgendem Inhalt 😡 .

    Warnung! Datenverlust beim Typumwandlung von 'long' in 'char' !!

    Diese Warnung bekomme ich aber auch nicht unter Visual C++ 6.0

    Frage also 😞 :

    Wo liegt der unterschied zwischen Visual C++ 6.0 und Visual Studio .NET ? 🕶



  • long wandelt man so in CStrings um:

    CString strZahl;
    long zahl = 4711;
    strZahl.Format( "%ld", zahl);
    

    Die Formatparameter entsprechen denen aus der printf-Funktion.



  • Original erstellt von thomas80d:
    **long wandelt man so in CStrings um:

    CString strZahl;
    long zahl = 4711;
    strZahl.Format( "%ld", zahl);
    

    Die Formatparameter entsprechen denen aus der printf-Funktion.**

    Merci !!!! 🙄


Anmelden zum Antworten