Nachdem ich das Web durchgelaufen bin und mich selbst vermasselt habe, kann ich anscheinend kein void * Ziel (welches eine Zeichenkette ist) in eine std :: Zeichenkette umwandeln. Ich habe versucht, sprintf(buffer, "%p", *((int *)point));
wie von this page empfohlen, um zu einem C-String zu bekommen, aber ohne Erfolg. Und leider, ja, ich muss eine void * verwenden, wie SDL in ihrer USEREVENT-Struktur verwendet.Konvertieren von void * in eine std :: string
Der Code, den ich die Userevent füllen bin mit, für die Interessenten ist:
std::string filename = "ResumeButton.png";
SDL_Event button_press;
button_press.type = BUTTON_PRESS;
button_press.user.data1 = &filename;
SDL_PushEvent(&button_press);
Irgendwelche Ideen?
EDIT: Danke für alle Antworten, ich musste nur die void * zu einem std :: string *. Wie dumm von mir. Vielen Dank, Jungs!
Was ist STL, was ist USEREVENT in STL? C++ hat so etwas nicht. – GManNickG
Was versuchst du zu tun? Sie haben einen void * -Zeiger, der auf Was zeigt? –
Ich denke, er meint SDL UserEvent http://linux.die.net/man/3/sdl_userevent – Stephen