我想在main中动态声明一个向量,因为我不知道将包含多少个元素,这些元素是由用户从键盘插入的。该数组必须在另一个函数中初始化(分配值),例如:inputDataInVector。
我尝试在main中创建一个指针,然后将其传递给另一个函数。
T
预期结果:在用户输入数字时在数组中添加元素
实际结果:数组v保持长度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;
}