簡體   English   中英

cin.getline : 沒有匹配的調用函數

[英]cin.getline : no matching function for call

在許多答案和諸如疑問一個,則建議使用cin.getline<string>而不是getline(cin, variable)

#include <iostream>
#include <string>

using namespace std;

int main() {
    string name;
    cin.getline(name);
}

但就我而言,我有構建問題:

g++ foo.cpp
foo.cpp: In function ‘int main()’:
foo.cpp:8:21: error: no matching function for call to 
   ‘std::basic_istream<char>::getline(std::string&)’
    8 |     cin.getline(name);
      |                     ^

從編譯器告訴的錯誤中,很明顯沒有這樣的函數重載接受std::string的類型引用(對於cin.getline() )。 相反,它接受如下參數:

const int MAX = 100;

char input[MAX];
cin.getline(input, MAX);
// Or better
// cin.getline(input, sizeof input);

暫無
暫無

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

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