假设您有以下方法:
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
}
将 [] 替换为 * ?
最佳答案
可以,但是因为数组不推荐使用指针,所以它们实际上具有相同的签名,所以如果您遇到错误,那是因为您正在尝试重新定义函数:
http://ideone.com/E1Z7B之所以有效,是因为我重命名了第二个函数。
关于c++ - 关于将函数作为参数传递的好奇心 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445577/