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

标签 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
}

将 [] 替换为 * ?

最佳答案

可以,但是因为数组不推荐使用指针,所以它们实际上具有相同的签名,所以如果您遇到错误,那是因为您正在尝试重新定义函数:

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

关于c++ - 关于将函数作为参数传递的好奇心 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445577/

相关文章:

c++ - 将 QString 转换为 const void*

c++将数组直接传递给函数

ios - 在 post 方法中发送标题

C# 将双数组传递给 C++ dll

mysql - 在 Apache Airflow 中,如何将宏结果作为参数传递给存储在单独的 .sql 文件中的 sql 查询

c++ - 为什么 std::make_tuple 将 std::reference_wrapper<X> 参数转换为 X&?

c++ - 将字符串转换为 boost::gregorian::greg_month

c# - 方法的数据类型

java - 更改和删除按钮的方法

Android - 从 Activity 调用普通对象方法