void close() {
//game.close();
}
int main(int argc, char** argv) {
game.display();
game.attachEvent(Event::EventType::Closed, close());
while (game.isOpen()) {
game.render();
}
return 0;
}
错误:无法初始化类型' void(*)()'的参数具有类型的右值' void' game.attachEvent(Event :: EventType :: Closed,close());
注意:在这里将参数传递给参数
void attachEvent(sf :: Event :: EventType,void(*)());
为什么显示此错误?我正在尝试附加一个我可以使用function();
调用的事件。作为参数,它被声明为void (*function)()
感谢。
答案 0 :(得分:3)
而不是close()
使用close
传递它,所以game.attachEvent(Event::EventType::Closed, close)
答案 1 :(得分:2)
传递close()
会调用close函数并传递void
您希望通过以下方式传递函数:
game.attachEvent(Event::EventType::Closed, close);
(注意close
上没有括号)