プログラミングの演習として、C++ で行っているコースのすべての haskell 割り当てを実装することを試みることにしました。現在、私はこの関数を送信しようとしています:
int callme(){
cout << "callme called" << endl;
return 0;
}
この関数に:
template<class type1,class type2> void callfunc(type1(*f)(type2)){
(*f)();
}
この呼び出しで:
int main(){
callfunc<int,void>(callme);
}
しかし、私はエラーが発生します:
macros.cc: In function ‘int main()’:
macros.cc:45:29: error: no matching function for call to ‘callfunc(int (&)())’
何が与えますか?テンプレートなしで、まったく同じ方法で関数を引数として送信できます...変更する必要があるのは、コンパイル前に型名を適切な場所に置き換えることだけですよね?