vs6 unicode
-
visual studio 6 wird hier verwendet.
// projekt settings ist folgendes, warum geht es TEXT macro nicht?WIN32,_DEBUG,_CONSOLE,_MBCS
#include <iostream> #include <sstream> #include <windows.h> using namespace std; wstring ret() { return TEXT("321"); // so geht es nicht, compiler fehler error C2664 return L"987"; // so geht es } int main() { wstring a = ret(); wcout << a << endl; return 0; }
-
JnZn558 schrieb:
WIN32,_DEBUG,_CONSOLE,UNICODE
-
Weil du offenbar nirgendwo die Verwendung von Unicode definiert hast. Dann macht das TEXT-Makro gar nichts.
Und für die Zukunft: Zeig die Fehlermeldung, nicht nur die Nummer. Konkret hätte man hier dann mehr gewusst, als dass der Compiler "type1" nicht in "type2" konvertieren kann.
-
Wenn du nur an einer Stelle eine generische Konstruktion wie TEXT() verwendest diese aber IMMER in einen konkreten Datentyp wie wstring presst, verliert die Verwendung von TEXT() ihren Sinn.