Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

24.01.2013, 06:29

Und ich habe ne Tutorial Rheihe befolgt, in der er mit dieser Konvert Methode convertiert.
http://www.youtube.com/user/SterminioPro…iew=1&flow=grid

Das erklärt also Dein gefährliches Halbwissen... Youtube-Tutorials.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

24.01.2013, 10:24

Habe schon die zwangs methode ausprobiert:

Wenn der Compiler einen Fehler oder eine Warnung ausgibt, dann hat das einen bestimmten Grund; der macht das nicht einfach so weil ihm grad danach ist. Der Compiler ist kein Hindernis, das es zu überwinden gilt (auch wenn das vielleicht manchmal so scheint), sondern dein bester Freund und wenn er dir was sagen will, solltest du besser ganz genau zuhören. Was du da als "Zwangsmethode" bezeichnest ist nicht ein Trick, um das Hindernis zu überwinden, sondern ein Weg, deinem besten Freund zu sagen: "Vertrau mir, ich weiß was ich tu!"
Und dein bester Freund hat dir vertraut, nachdem du aber eben leider doch nicht wusstest, was du tust, ist er nun naturgemäß ein wenig enttäuscht...

Da kommt aber immer noch dieselbe Fehler Meldung:


error C2440: 'Typumwandlung': 'std::string' kann nicht in 'LPCWSTR' konvertiert werden

Die ja auch ganz klar sagt, was das Problem ist. Hör auf deinen Freund... ;)

Aber mal abgesehen vom Unicode-Problem. Nach meinem Kenntnisstand (ich lerne ja auch noch) sollte die Typumwandlung so aber trotzdem nicht klappen. Sein test ist doch eine Instanz einer Klasse, die kann man doch nicht einfach in LPCWSTR umwandeln kann, oder liege ich da falsch ? Fehlt da nicht auch der Aufruf einer bestimmen Memberfunktion, welche einen Zeiger auf den eigentlichen String selbst zurückgibt ?

korrekt

Habe schon von UNICODE auf Nicht festgelegt getsellt.
Bringt nix

Wieso genau sollte das auch was ändern?

Müsste eig gehen.
Denn LPCWSTR ist ein typdef zu einem C-String.

Nope, LPCWSTR ist ein typedef auf const WCHAR*.

Techie

Alter Hase

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

13

24.01.2013, 19:03

Dot hat mir aus dem Herzen gesprochen :)

Ich bitte dich Duff. Kaufe dir ein Buch, ein richtiges z.B.: 'Der C++ Programmierer'. Es hat seinen Grund ,dass es Bücher gibt, und ,dass ich dir ausgerechnet dieses empfehle.

Gruß Techie

P.S.: Grundkurs C++ von Jürgen Wolf ist zwar günstig aber da sparst du nur an der Qualität des geschriebenem.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

14

27.01.2013, 10:26

Es wird ein Long pointer erwartet, versuchs mal mit

C-/C++-Quelltext

1
text.c_str();

Techie

Alter Hase

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

15

27.01.2013, 11:53

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Damit Duff nicht gleich so weiter macht.
// Falsch
char blub = '';
blub.c_str(); // Das ist falsch

//---------------------------------------
#include <string.h>
using std::string;

int main( ){
string blub = ''; // c_str nur in der C++ Stringklasse.
DeineFunktion(blub.c_str()); // Die Funktion die den C String braucht.

return 0;
}


Ich schreibe das hier da ich an deinem Wissen von C++ zweifle. Arbeite mal ein Buch ganz durch. Wenn gegeben die Aufgaben des Buches.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

16

27.01.2013, 12:16

Ich schreibe das hier da ich an deinem Wissen von C++ zweifle.

Ich jetzt auch:

C-/C++-Quelltext

1
2
3
4
5
string blub = ''; //Fehler
string blub = ""; //funktioniert
char blub = ''; //Fehler
char blub = ""; //Fehler
char blub = '\0'; //funktioniert

Mag sein, dass du dich bloß vertippt hast, aber wenn du den Unterschied zwischen char, char* und string erklären willst, ist es ziemlich schlecht, wenn man " " und ' ' verwechselt.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

27.01.2013, 12:21

Auch sollte man darauf hinweisen, dass das nur ein Teil des Rätsels ist. Der zweite Teil liegt im Unterschied zwischen char und wchar_t und CHAR und WCHAR und TCHAR und LPCSTR und LPCWSTR und LPCTSTR und MessageBox und MessageBoxA und MessageBoxW sowie den Standardeinstellungen der verwendeten Visual Studio Projektvorlage... ;)

18

27.01.2013, 14:12

Ha, und da soll noch einer sagen, C++ wäre kompliziert und nichts für Einsteiger!
Lieber dumm fragen, als dumm bleiben!

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

19

27.01.2013, 17:34

DuffCola scheint sich für dieses Thema eh nicht mehr zu interessieren ! Keine Antwort mehr und er hat schon das nächste Problem gepsotet.

Techie

Alter Hase

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

20

03.02.2013, 18:04

oh Mann. Das ist peinlich :cursing:

Kleiner Tippfehler :dash:
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

Werbeanzeige