ref c ++的初始数组大小[重复]
Posted
技术标签:
【中文标题】ref c ++的初始数组大小[重复]【英文标题】:initial array in size by ref c++ [duplicate] 【发布时间】:2021-12-15 06:33:42 【问题描述】:我被要求创建这个函数:
int * createAndInput(int & size)
函数初始化一个数组,大小为
值size
,从用户那里获取值作为输入,并通过ref返回分配的数组和大小。
这是我目前的代码:
int *creatAndInput(int& size)
int arr1[***size***];
for (int i = 0; i << size; i++)
cout << "enter index " << (i + 1) << endl;
cin >> arr1[i];
return (arr1);
void main()
cout << "enter size number" << endl;
int size2 = 10;
int *size1 = &size2;
cout << *creatAndInput(size2);
【问题讨论】:
请直接在问题中发布您的代码,而不是图片。 将i << size
更改为i < size
。
你需要使用new[]
来分配数组,或者使用std::vector
来代替。
【参考方案1】:
#include <iostream>
int* createAndInput(int& size)
int* ptr = new int[size];
for(int i = 0; i < size; i++)
std::cout << i+1 << ". element: ";
std::cin >> ptr[i];
return ptr;
int main()
int *ptr, size;
std::cout << "Size: ";
std::cin >> size;
ptr = createAndInput(size);
for(int i = 0; i < size; i++)
std::cout << i+1 << ". element: "<< ptr[i] << std::endl;
delete[] ptr;
return 0;
【讨论】:
以上是关于ref c ++的初始数组大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio C/C++ 数组大小未处理的异常堆栈溢出 [重复]