这可能有一个特定的答案,但是我试图通过使getline()函数停在“”位置来对其进行测试。例如,这样我就可以向自己保证我正确使用了它。查看在线语法的预期方式如下
语法1: istream&getline(istream&is,string&str,char delim);
是:它是istream类的对象,并告诉函数有关流的信息 从哪里读取输入。
str:这是一个字符串对象,输入是从流中读取后存储在该对象中的。
delim:是分隔字符,它告诉函数在到达该字符后停止读取更多输入。
但是,当我尝试在代码中测试此小型库函数时,它会引发异常,说明如下:
为什么说明它已超载? 还是我在雷达下错过了一些很小的东西?
答案 0 :(得分:-1)
std::getline
有两个重载,一个具有2个参数(类型为istream&is和字符串&str),另一个是您列出的参数。您的错误是第三个参数应为char
类型,而不是std::string
类型。编写代码时,双引号(“)使char*
字符串,而单引号(')使char
。
我还建议键入名称空间std::
。它只有5个字符(即使所有打字加起来也是如此),并且通常被认为是更好的做法。