我不明白这其中的错误。我正在尝试使用std::function
s 将成员函数作为参数传递。除了第 4 种和最后一种情况外,它工作正常。
void window::newGame() {
}
//show options
void window::showOptions() {
}
void window::showHelp() {
}
//Quits program
void window::quitWindow() {
close();
}
void window::createMenu() {
std::function<void()> newGameFunction = std::bind(&window::newGame);
std::function<void()> showOptionsFunction = std::bind(&window::showOptions);
std::function<void()> showHelpFunction = std::bind(&window::showHelp);
std::function<void()> quitWindowFunction = std::bind(&window::quitWindow);
}
的前 3 次使用没有错误std::function
,但是在最终使用中我得到以下信息:
Error 1 error C2064: term does not evaluate to a function taking 0 arguments
在第 1149 行functional
。
我只知道错误发生在线上,因为我取出了所有其他错误,这是唯一一个导致各种组合出现任何问题的错误。