int A(int, int);
decltype(A)* sum(int, int);
int A(int a, int b)
{
std::cout << "Function A is called" << std::endl;
return 0;
}
decltype(A)* sum() {
return &A;
}
int main(int argc, char** args)
{
auto a = sum();
a(3, 4);
system("pause");
return 0;
}
看这个例子
先定义了一个A函数,
然后又定义了一个返回值是指向A函数的指针的函数,这里使用了decltype 作为推算,函数的返回值是A这个函数的地址。
然后,在主函数中,使用auto类型,接受sum()的返回值,即指向A的函数指针。
然后就可以直接调用了