C++で関数をパラメータとして渡す方法を検索するとき、関数ポインタを使用する例しか見つけられません。しかし、以下はVisual Studioで "g20"をコンパイルして出力します。あなたがstd::function<>
の代わりに、関数ポインタを好むかもしれないC++がポインタなしのパラメータとして機能する
#include <iostream>
using namespace std;
int f(void fun());
void g();
int main() {
cout << f(g);
}
void g() {
cout << "g";
}
int f(void fun()) {
fun();
return 20;
}
どちらの形式も同等です。 –
http://stackoverflow.com/q/26559758/3235496とhttp://stackoverflow.com/q/30354108/3235496を参照してください。 – manlio