我不断收到此错误(虽然确实很长,但我认为最重要的部分是此错误):
main.cpp:9:30: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'const char [2]'
在编译这段代码时:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string x = getline(cin, " ");
return 0;
}
错误中的行与我在此处提出的代码中的行不匹配,因为我不知道如何在Stack Overflow编辑器中编写代码时创建新行;我是新来的;)无论如何,错误指向声明为string x
的行。
基本上,我想要此代码执行的操作是从用户那里获得一行代码,直到他/她碰到空格为止。也许我从一开始就做错了,所以我愿意提出解决此问题的建议。 (我不太懂C ++,只是我的老师需要使用这种语言才能完成任务。)谢谢,
安东尼
答案 0 :(得分:1)
std::getline()
的第二个参数是对std::string
变量的引用,该变量接受读取的数据。该字符串不会在函数的返回值中输出。
此外,std::getline()
不接受分隔符的字符串。它只需要一个字符。
尝试以下方法:
#include <iostream>
#include <string>
using namespace std;
int main() {
string x;
getline(cin, x, ' ');
return 0;
}