为什么我收到此代码的未定义引用错误:
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);
}
答案 0 :(得分:1)
undefined reference to `bar(int (*)())'
你拥有的是:
int bar(int (&x)())