void * nach char *
-
Hallo
ich hab folgenden Code, ich will einen void * Pointer nach char * Konvertieren.
Leider gibt mir mein Compiler (visual 6) immer eine Fehlermeldung.
Wie mache ich das?char temp[32]; &temp = reinterpret_cast<char*> (m_Tree->Find("hallo"));
-
Lass das & vor dem temp weg. Einer Addresse kannst du nichts zuweisen.
-
geht immer noch nicht
-
Einem Array kann man genausowenig auf die Art etwas zuweisen. Deshalb nimm lieber char *temp;
-
Wenn du unbedingt ein Array brauchst, müsstest du das halt mit strcpy() füllen.
-
inzwischen gehts.
Eigentlich toent das Argument logisch, das man einen Arraz nicht als Zeiger benutzten kann, solang man es statisch erzeugt.
Ich war blos etwas verwirrt, da man z. B. bei sprintf auch ein statisches Array uebergeben kann wie einen char * Zeiger.
-
Nuja, es ist halt ein Zeiger mit konstanter Adresse (char const* glaub ich), bzw. wird in diesen umgewandelt. Du kannst zwar beliebig in seinen Daten rumwühlen, aber ihn verändern kannst du trotzdem nicht.