C++输入过载错误
C++ Input Overload Error
istream& operator>>(istream& input, const complex& P) {
input >> P.real >> P.imaginary;
return input;
}
我有上面的代码,由于某种原因我收到此错误:
Invalid operands to binary expression ('istream' (aka 'basic_istream<char>') and 'double').
complex&P是一个对象,基本上存储复数的实数部分和虚数部分。所以如果你有 2 + 3i,P.real 会回到你身边 2,P.imaginary 会回到你身边 3。实数和虚数都是双倍的。
有人可以帮我解决这个问题吗?
重载>> 运算符时,要为其分配输入值的变量必须是可变的,因此您需要删除"const">
istream& operator>>(istream& input, complex& P) {
input >> P.real >> P.imaginary;
return input;
}
相关文章:
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 堆栈中大小变量输入错误 (C++)
- 实现 DFS 在较短的输入下工作正常,但在较大的输入下会抛出分段错误
- C++中的输入限制和错误检查
- 关于 SIGTSTP 错误和无休止的输入
- 为什么不能通过在错误输入后设置 std::cin.clear() 来使用 std::cin?
- 这段代码在获得错误输入时不会阻止 stoi 运行
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 使用 cin 错误输入多个浮点数
- 构造函数错误:输入末尾的预期“{”
- 如何一次一个单词而不是一行一行地消除错误输入
- 错误输入未在此范围中显示
- c++在没有tryCatch块的情况下捕获错误输入
- c++中的纠错循环,查找字符串中的特定字符并将其标记为错误输入
- 如何为错误输入编写异常处理
- Swig错误-错误:输入(2)中的语法错误
- 错误:输入末尾应为“}”
- std::cin无限循环错误输入
- 如何避免来自用户的错误输入?