函数类型引用函数类型:未定义引用

时间:2013-05-26 19:02:36

标签: c++

为什么我收到此代码的未定义引用错误:

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);
}

1 个答案:

答案 0 :(得分:1)

undefined reference to `bar(int (*)())'

你拥有的是:

int bar(int (&x)())