gpt4 book ai didi

c++ - 错误 : 'invalid operands' to binary operator <<

转载 作者:搜寻专家 更新时间:2023-10-31 00:44:03 25 4
gpt4 key购买 nike

我收到以下错误:
'char' 类型的无效操作数和未解析的重载函数类型>' 到二进制 'operator<<'

这是什么意思?

#include <string>
#include <fstream>
using namespace std;

int main()
{
ifstream inFile;
inFile.open("records.txt");

ofstream outFile;
outFile.open("corrected.txt");

while (inFile.good())
{
string num, temp;
inFile >> num;
outFile << temp.at(0)=num.at(9) << temp.at(1)=num.at(8)
<< temp.at(2)=num.at(7) << temp.at(3)=num.at(6)
<< temp.at(4)=num.at(5) << temp.at(5)=num.at(4)
<< temp.at(6)=num.at(3) << temp.at(7)=num.at(2)
<< temp.at(8)=num.at(1) << temp.at(9)=num.at(0) << endl;
// invalid operands of types 'char' and unresolved overloaded function type>'
// to binary 'operator<<'
}
return 0;
}

这个程序应该反转一个已经反转的电话号码列表。

最佳答案

您需要在表达式中加括号,否则错误的优先级会破坏代码。

temp.at(0)=num.at(9)替换为(temp.at(0)=num.at(9)),依此类推在。然后它会编译。

    outFile << (temp.at(0)=num.at(9)) << (temp.at(1)=num.at(8))
<< (temp.at(2)=num.at(7)) << (temp.at(3)=num.at(6))
<< (temp.at(4)=num.at(5)) << (temp.at(5)=num.at(4))
<< (temp.at(6)=num.at(3)) << (temp.at(7)=num.at(2))
<< (temp.at(8)=num.at(1)) << (temp.at(9)=num.at(0)) << endl;

关于c++ - 错误 : 'invalid operands' to binary operator <<,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com