Komischer fehler
-
double Averange = 65.2; std::ostringstream os; os << Averange; std::wstring str = os.str();cannot convert from 'std::basic_string<_Elem,_Traits,_Ax>' to 'std::basic_string<_Elem,_Traits,_Ax>'ich vermute das liegt daran das os.str(); == char und wstring == wchar_t
aber ich moechte weiterhin alles in unicode machen - daher die frage,
wie double nach wstring ?
-
ich idiot
double Averange = 65.2; std::wstringstream os; os << Averange; std::wstring str = os.str();das geht doch #gg
-
Auch wenn du es schon selber herausgefunden hast, eine Erklärung

Die Stream- und String-Klassen der STL hast du praktisch in dreifacher Ausführung:
basic_xxx<char_type,...>(Template-Klasse für beliebige Zeichentypen),xxx(=basic_xx<char>) undwxxx(=basic_xxx<wchar_t>). Und wenn du mit UNICODE arbeiten willst, solltest du durchgängig die w... Versionen verwenden.
-
CStoll schrieb:
Auch wenn du es schon selber herausgefunden hast, eine Erklärung

Die Stream- und String-Klassen der STL hast du praktisch in dreifacher Ausführung:
basic_xxx<char_type,...>(Template-Klasse für beliebige Zeichentypen),xxx(=basic_xx<char>) undwxxx(=basic_xxx<wchar_t>). Und wenn du mit UNICODE arbeiten willst, solltest du durchgängig die w... Versionen verwenden.Hat denn eigentlich Mr Evil die Fehlermeldung falsch abgetippt ?
cannot convert from 'std::basic_string<_Elem,_Traits,_Ax>' to 'std::basic_string<_Elem,_Traits,_Ax>'Denn so spontan fällt mir kein Grund ein, warum der Compiler std::basic_string<_Elem,_Traits,_Ax> nicht in sich selbst konvertieren können sollte....
Gruß,
Simon2.
-
Simon2 schrieb:
Hat denn eigentlich Mr Evil die Fehlermeldung falsch abgetippt ?
Nicht falsch, nur unvollständig. Die Templateparameter sind unterschiedlich.