GetLine C 无匹配功能

no matching function for getline c++

本文关键字:功能 无匹配 GetLine      更新时间:2023-10-16

我正在尝试输入一个数字,并且基于该数字,用户必须输入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
}

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

您绝对不想使用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);
}