关于将函数作为参数传递的好奇心 - C ++

时间:2012-05-04 08:46:13

标签: c++ methods parameter-passing

假设您有以下方法:

double * myMethod(double (*f)(double[]), double *x, int size)
{
    //do something and return
}

为什么我不能写如下?

double * myMethod(double (*f)(double *), double *x, int size)
{
    //do something and return
}

用*?

替换[]

1 个答案:

答案 0 :(得分:1)

你可以,但由于数组弃用指针,它们实际上具有相同的签名,所以如果你收到错误,那是因为你试图重新定义函数:

http://ideone.com/E1Z7B有效,因为我重命名了第二个函数。