C visual studio 2017 中从函数到函数的动态数组
Dynamics array from function to function in C visual studio 2017
我需要从一个函数转移到另一个函数。我尝试这样做:
double toarray(double x,int n)
{
double * results = new double[n];
for (int j = 0; j < n; j++)
{
results[j] = function( x);
x += jump;
}
return *results;
}
void showarr(double*arr[],int n,double x)
{
for(int i=0;i<n;i++)
{
printf("Wynik dla x=" "%.2lf", x);
if (denomcheck(x) == true && function(x)<INT_MAX)
{
printf(" | y=%.2lf n", arr[i]);
}
else
printf(" | MIANOWNIK = 0!!! n");
x += jump;
}
}
但是当我尝试将 toarray 调用为 showarr 的变量时:
showarr(toarray(x, n), n, x);
我在与 0167 年相比收到 E2017 错误。
"参数类型"双精度"与参数类型"双精度**"不兼容"
您的toarray
应该返回指向数组的指针,而不是单个双精度值:
double *toarray(double x,int n) {
double * results = new double[n];
...
return results;
}
showarr
应该处理一个双精度数组(作为指向此类数组的指针传递,要么写为 double arr[]
要么写为 double *
),而不是指向双精度的指针数组(这就是 double *arr[]
的含义):
void showarr(double arr[],int n,double x) {
...
此外,您应该删除您创建的数组,即在之后不需要arr
的地方使用 delete[] arr
。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 内联映射初始化的动态atexit析构函数崩溃
- 如何在动态数组上使用搜索函数
- 通过构造函数动态确定类实现
- 对具有动态分配的内存和析构函数的类对象的引用
- 调用析构函数以释放动态分配的内存
- 为什么类和 main() 函数中也有动态内存分配
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 运行时的动态函数解析
- 如何使用类型级函数动态创建静态类型?
- C/C++函数动态加载器(helper)
- 是否可以将函数动态分配给函数指针
- 为什么某些虚拟函数动态有限,而有些则不是
- 使用构造函数动态初始化对象与 c++ 中的新函数
- C++指向函数动态数组的指针
- 函数,该函数动态构造字节数组并返回长度
- Unix中的c++ Shell, execv:从函数动态创建并返回一个可用的第二个参数
- 如何使用参数化构造函数动态分配对象数组
- 有没有一种方法可以在C++中为模板化函数动态赋值
- C++:使用非默认构造函数动态分配结构的成员数组