基本的には、デフォルト引数で関数ポインタを呼び出せるようにしたい。以下を見てください。
#include <iostream>
using namespace std;
int function(int arg1 = 23)
{
printf("function called, arg1: %d\n", arg1);
return arg1 * 3;
}
template<typename Fn> int func(Fn f)
{
int v = 3;
f(); //error here 'error: too few arguments to function'
f(23); //this compiles just fine
return v;
}
int main() {
func(&function);
printf("test\n");
return 0;
}
引数を明示的に指定せずに、関数ポインター (またはテンプレート引数) からデフォルト引数を使用して関数を呼び出すことができる方法 (トリックまたはその他) はありますか?