如何调用返回指针数组的函数?C++
How do I call my function that returns an array of pointers? C++
指针
是全新的,所以我为新手问题道歉。我在尝试调用函数时收到转换错误。此函数应该返回指向末尾包含 1 的更新数组的指针。
int* appendList(int x, int &arraySize, int *list)
{
arraySize++;
int *array2 = new int[arraySize];
for(int i=0; i < arraySize-1; i++)
{
array2[i] = list[i-1];
}
array2[arraySize]=x;
return array2;
}
我的主要功能如下。
int main()
{
int size=0;
int *list;
cout << "Please enter the size of your array: ";
cin >> size;
list = new int[size];
cout << "nPlease enter the numbers in your list seperated by spaces: ";
for(int i=0; i < size; i++)
{
cin >> list[i];
}
cout << endl;
cout << "The array you entered is listed belown ";
for(int i=0; i < size; i++)
{
cout << setw(3) << list[i];
}
list = appendList(1, size, list);
for(int i=0; i < size; i++)
{
cout << setw(3) << list[i];
}
return 0;
}
对函数 appendList 的调用会导致参数 3 的转换错误,但我不确定为什么? 函数参数必须保持原样。
谢谢你的帮助。
我在你的代码中发现的一个错误。
int* appendList(int x,int &arraySize,int *list)
{
arraySize++;
int *array2=new int[arraySize];
for(int i=0;i<arraySize-1;i++)
{
array2[i]=list[i-1];//this is incorrect because for i=0 it becomes list[-1] which is wrong
}
array2[arraySize]=x;
return array2;
}
相关文章:
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 打印 2D 动态数组 c++ 函数
- C++数组函数
- 在数组函数指针中调用void
- 数组函数似乎没有找到最大值
- 使用数组函数和循环求解伪元编码|C
- 在头文件中的函数原型中获取指针数组:函数声明为 void
- 数组函数错误输出
- 读取文件,然后创建数组函数C++
- 指针数组函数参数-奇怪的行为
- 二维数组 - 函数
- "return"没有从数组函数返回正确的值
- 数组函数问题
- 数组函数的大小返回 int 的大小而不是数组
- 从数组函数中删除元素
- 如何从C++中最好地调用具有C99风格数组函数签名的函数
- 追加/打印/插入数组c++函数问题
- 如何将数组函数转换为指针函数
- 多维数组函数输出垃圾
- C++:数组函数的递归最大值