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

Function type to reference to function type: undefined reference

本文关键字:引用 函数 类型 未定义      更新时间:2023-10-16

为什么我得到一个未定义的引用错误:

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);
}
undefined reference to `bar(int (*)())'

你得到的是:

int bar(int (&x)())