【问题标题】:initial array in size by ref c++ [duplicate]ref c ++的初始数组大小[重复]
【发布时间】: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 &lt;&lt; size 更改为i &lt; size
  • 你需要使用new[]来分配数组,或者使用std::vector来代替。

标签: c++ arrays dynamic byref


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多