功能指针不起作用(C )

Function pointer not working (C++)

本文关键字:不起作用 指针 功能      更新时间:2023-10-16
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'的rvalue初始化类型的'void(*(((的参数 game.attachevent(event :: eventType ::闭合,close(((;

注意:将参数传递给参数
void attachevent(sf :: event :: eventType,void(*((((;

为什么显示此错误?我正在尝试附加一个可以使用function();调用的事件。作为参数,它被声明为void (*function)()
谢谢。

而不是close()使用close传递,因此game.attachEvent(Event::EventType::Closed, close)

传递close()调用关闭功能,并通过void

的结果

您想通过:

传递功能本身
game.attachEvent(Event::EventType::Closed, close);

(注意close上没有括号(