如何在另一个函数中初始化在main中声明的数组

时间:2019-01-30 17:55:34

标签: c++

我想在main中动态声明一个向量,因为我不知道将包含多少个元素,这些元素是由用户从键盘插入的。该数组必须在另一个函数中初始化(分配值),例如:inputDataInVector。

我尝试在main中创建一个指针,然后将其传递给另一个函数。

T

预期结果:在用户输入数字时在数组中添加元素
实际结果:数组v保持长度1,仅引入第一个值

1 个答案:

答案 0 :(得分:1)

使用向量执行此操作,与数组不同,向量可以更改其大小

#include <vector>
#include <iostream>

void inputDataInVector(std::vector<int>& v)
{
    int value = 0;
    while (value != -1)
    {
         std::cin >> value;
         v.push_back(value); // this changes the size of the vector
    }
}

int main(void)
{
    std::vector<int> v;

    inputDataInVector(v);

    return 0;
}