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 !!!!