按下按钮时我需要调用一个函数。以下函数应接受要调用的函数:
void ButtonLayer::LoadButton(void(*func)()) {
// do button loading stuff
// if button is clicked...
func();
}
除了在单独的命名空间中传递函数会产生以下错误之外,这将起作用:
argument of type "void(OtherLayer::*)()" is incompatiable with parameter of type "void(*)()"
我不想让我传递的每个函数都是静态的以避免这个问题,所以我需要某种方法将命名空间中的函数转换为 void(*) 类型。我尝试过静态转换,但我不确定确切的语法,因为我是 C++ 新手