没有getline c ++的匹配函数

时间:2014-02-06 22:34:32

标签: c++ arrays

我正在尝试输入一个数字,根据该数字,用户必须输入x次。

例如

3 //how many the user wants
192 231 2 3
22192 2 1 23
2831 3 23 1

我尝试过这样做,但它一直说getline

没有匹配功能
int* x = NULL;
int numbers;
cin >> numbers;
x = new int[numbers]

for (int i=0;i<numbers;i++)
{
    std::getline(std::cin, numbers)
    x[i] = numbers
}

2 个答案:

答案 0 :(得分:3)

getline的第二个参数类型为std::string

答案 1 :(得分:1)

你绝对不想使用std::getline,因为它看起来不像一串数字,而是自己编号。

您想要的是按编号读取数字,因此请使用您在numbers中阅读时所做的相同操作,但不要再次在numbers中阅读。 (因为你在循环中使用它。)

无论如何,你想要的近似值是这样的:

int how_many;
std::vector<int> numbers;
std::cin >> how_many;
for (int i = 0; i < how_many; i++){
    int temp;
    std::cin >> temp;
    numbers.push_back(temp);
}