使用 getline() 时出现编译错误:'mismatched types'
Compiling error while using getline(): 'mismatched types'
我一直收到这个错误(这是一个很长的错误,但我认为最重要的部分是这个):
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
.
声明的行
基本上我想要这段代码做的是从用户那里得到一行,直到 he/she 命中 space。也许我从一开始就做错了,所以我愿意接受解决这个问题的建议。 (我对 C++ 不是很有经验,只是我的老师要求使用这门语言完成一项任务。)谢谢,
安东尼
std::getline()
的第二个参数是对接受读取数据的 std::string
变量的引用。该字符串未在函数的 return 值中输出。
此外,std::getline()
不接受字符串作为分隔符。它只需要一个字符。
试试这个:
#include <iostream>
#include <string>
using namespace std;
int main() {
string x;
getline(cin, x, ' ');
return 0;
}
我一直收到这个错误(这是一个很长的错误,但我认为最重要的部分是这个):
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
.
基本上我想要这段代码做的是从用户那里得到一行,直到 he/she 命中 space。也许我从一开始就做错了,所以我愿意接受解决这个问题的建议。 (我对 C++ 不是很有经验,只是我的老师要求使用这门语言完成一项任务。)谢谢,
安东尼
std::getline()
的第二个参数是对接受读取数据的 std::string
变量的引用。该字符串未在函数的 return 值中输出。
此外,std::getline()
不接受字符串作为分隔符。它只需要一个字符。
试试这个:
#include <iostream>
#include <string>
using namespace std;
int main() {
string x;
getline(cin, x, ' ');
return 0;
}