簡體   English   中英

getline C沒有匹配功能

[英]no matching function for getline c++

我正在嘗試輸入一個數字,並且基於該數字,用戶將不得不輸入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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM