错误没有重载函数的实例 "getline" 与参数列表匹配

Error No instance of overloaded function "getline" matches the argument list

我搜索了这个网站,我尝试了大部分方法,但它们都不起作用如果有人知道我做错了什么,请帮助,这是我的代码。

 string getlinetest;
 cout << "What is the string?" << endl;
 cin >> getlinetest;
 getline(cin >> getlinetest);
 cout << getlinetest << endl;

std::getline 未被使用,因为您正在尝试使用它。 (我认为您只是使用 >> 而不是 , 打错了字。)

你需要这样称呼它:

std::string getlinetest;
std::cout << "What is the string?" << std::endl;
std::getline(std::cin, getlinetest);
std::cout << getlinetest << std::endl;


PS:

而且我对在使用 getline 之前使用 cin >> getlinetest; 没有任何意义。如果你想删除前面的空格,那么你可能需要使用 std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 而不是在前面放置 cin 语句。

查看这些线程:

  1. Using getline(cin, s) after cin
  2. Why does std::getline() skip input after a formatted extraction?
  3. cin and getline skipping input