これのエラーがわかりません。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
。
他のすべてのものを取り出し、さまざまな組み合わせで問題を引き起こしたのはそれだけだったので、エラーが回線で発生していることだけを知っています。