在仔细阅读网络并弄乱自己之后,我似乎无法将 void* 的目标(它是一个字符串)转换为 std::string。我已尝试按照此页面sprintf(buffer, "%p", *((int *)point));
的建议使用来获取 C 字符串,但无济于事。可悲的是,是的,我必须使用 void*,因为这就是 SDL 在其 USEREVENT 结构中使用的。
对于那些感兴趣的人,我用来填充 Userevent 的代码是:
std::string filename = "ResumeButton.png";
SDL_Event button_press;
button_press.type = BUTTON_PRESS;
button_press.user.data1 = &filename;
SDL_PushEvent(&button_press);
有任何想法吗?
编辑:感谢所有回复,我只需要将 void* 转换为 std::string*。傻我。非常感谢你们!