0
int g()
{
return 0;
}
int f1(int(fn)())
{
return fn();
}
int f2(int(*fn)())
{
return fn();
}
int main()
{
f1(g);
f2(g);
}
上記のコードは正常にコンパイルできます。"int f(int(fn)())"と "int f(int(* fn)())"の違いは?
私は疑問に思う:
int f(int(fn)())
とint f(int(*fn)())
の違いは何ですか?
なぜ両方がC++で合法であるのですか?