このコードで未定義の参照エラーが発生するのはなぜですか:
int foo() { return 5; }
int main()
{
int bar(int() = foo);
bar();
}
int bar(int (&x)())
{
return x();
}
しかし、このコードを使用すると、正常にコンパイルされます。
void baz(int (&)()) {}
int foo() { return 5;}
int main()
{
baz(foo);
}