我的编译器不会让我使用getline

时间:2014-12-24 02:56:09

标签: c++

当我尝试访问getline时,它会给我一个这样的错误!我想做的就是创建一个单独的文本。

C:\ c ++ 3 + \ Strings \ main.cpp | 11 | error:没有匹配函数来调用'getline(std :: istream&,std :: string&,const char [2])' |

   #include <iostream>
#include <string>
using namespace std;

int main()
{
    string last,name,playerclass;


   getline(cin, last, ",");
   getline(cin, name, ",");
   getline(cin, playerclass, ",");

   cout << name << last << " Is a " << playerclass;
    return 0;
}

1 个答案:

答案 0 :(得分:7)

getline将单个char作为分隔符的最后一个参数。你必须使用

std::getline( cin, last, ',' );

&#39; 而不是&#34;

编译器的错误:

no matching function for call to 'getline(std::istream&, std::string&, const char [2])

它告诉你编译器试图找到一个带有last参数的相应函数作为字符串(大小为2的文字字符串)但是失败了。