我的第一份工作是:
"第一个函数readNumbers是从std :: cin读取一组10个数字,并使用它们初始化一个动态分配的长度为10的int数组(动态分配在堆上).该函数必须返回一个指向数组.您可以假设输入将是10个整数值而不是其他任何内容."
这很好,但我需要:
"这个问题的主要功能必须调用readNumbers函数,然后将新数组传递给printNumbers函数,最后删除数组."
但是,当在函数中声明新的int []时,我不确定如何处理main中的delete.这是我的代码的相关部分.
int *readNumbers(){
int * numbers;
numbers = new int [10];
for (int i = 0; i < 10; i++){
int userinput;
cin >> userinput;
*(numbers+i) = userinput;
}
return numbers;
}
Run Code Online (Sandbox Code Playgroud)
和
int main(){
printNumbers(readNumbers(),10);
delete[] numbers;
}
Run Code Online (Sandbox Code Playgroud)
很明显,main中的delete []请求是语法错误,我不确定解决方案.