使用 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;
}
错误中的行与我在这里提出的代码中的行不匹配,因为我不知道在堆栈溢出编辑器中编写代码时如何创建新行;我是新来的;)无论如何,错误指向带有string x
声明的行。
基本上,我希望这段代码做的是从用户那里获取一行,直到他/她到达空格。也许我从一开始就做错了什么,所以我愿意接受解决这个问题的建议。(我在C++方面不是很有经验,只是我的老师需要用这种语言完成一项任务。谢谢
安东尼
std::getline()
的第二个参数是对接受读取数据的 std::string
变量的引用。字符串不会在函数的返回值中输出。
此外,std::getline()
不接受分隔符的字符串。它只需要一个字符。
试试这个:
#include <iostream>
#include <string>
using namespace std;
int main() {
string x;
getline(cin, x, ' ');
return 0;
}
相关文章:
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 构建 TensorFlow r1.14 C++文件时缺少文件"tensorflow/core/framework/types.pb.h"
- 为什么"types may not be defined in parameter types"
- 如何在Arduino程序中解决"invalid operands of types"?
- 错误"invalid types ... for array subscript"是什么意思?
- 无法打开源文件"sys/types.h"、"sys/stat.h"
- 传递自定义函数类型时的'incompatible types in assignment'
- 这个正则表达式的括号以什么方式"mismatched"?
- SWIG INOUT types (C++ to Python)
- 尝试实施 PIMPL idom 时如何避免"redefinition; different basic types"
- 有人能解释一下特殊的std::函数模板参数列表语法(这个奇怪的类型(Types..))吗
- 当foo是接受单个模板参数的结构时,'foo<Type1, Types...>'是否合法?
- 为什么编译器显示错误"no match for 'operator[]' (operand types are 'carti' and 'int')"
- " invalid operands of types 'int' and 'int* const'" 来自功能的错误,来自书
- 字符串"companion types"
- 使用 getline() 时编译错误: 'mismatched types'
- Typedef redefinition with different types (Emscripten SDL2+O
- 错误消息"deduced conflicting types for parameter 'const T'"
- 获取错误:"error: conflicting types for ‘call_celsius’ "和"note: previous implicit declaration of ‘call_ce
- char16_t and char32_t types in C++11