Web'i kendim ve etrafımdaki karışıklıktan sonra, bir void *' in hedefini (bir dizedir) std :: stringine dönüştüremiyorum. Bir C dizesine ulaşmak için this page tarafından önerilen şekilde sprintf(buffer, "%p", *((int *)point));
kullanmayı denedim, ancak boşuna. Ve ne yazık ki, evet, SDL'nin kendi KULLANICI ORTAK yapısında kullandığı gibi bir boşluk kullanmalıyım *.Bir void * 'a std :: string dönüştürülmesi
ilgilenenler için ben Userevent doldurmak için kullanıyorum kodudur:
std::string filename = "ResumeButton.png";
SDL_Event button_press;
button_press.type = BUTTON_PRESS;
button_press.user.data1 = &filename;
SDL_PushEvent(&button_press);
Herhangi bir fikir?
DÜZENLEME: Tüm yanıtlar için teşekkürler, sadece void * 'i bir std :: string *' e çevirmem gerekiyor. Aptal ben. Çok teşekkür ederim beyler! Eğer bir stringstream
kullanabilirsiniz metin olarak adres biçimlendirmek için çalışıyor ise
STL nedir, STL'de KULLANICI nedir? C++ böyle bir şey yok. – GManNickG
Ne yapmaya çalışıyorsun? Neye işaret eden bir void * işaretçiniz var? –
Sanırım SDL UserEvent http://linux.die.net/man/3/sdl_userevent – Stephen