没有变量声明为函数,但错误:二进制表达式的操作数无效
No variable declared as function, but Error: invalid operands to binary expression
我正在尝试编写一个程序来删除格式不正确的C++程序中的前导空格。我在第 24 行收到此错误:cout << removeLeadingSpaces(s) << endl;
,请帮助。
#include <iostream>
using namespace std;
string removeLeadingSpaces(string line)
{
bool start = false;
string newline;
for (int i = 0; i < line.size(); i++)
{
if (!isspace(line[i]) && start==false)
{
start = true;
}
if (start==true)
newline += line[i];
}
return newline;
}
void printindented()
{
string s;
while (getline(cin, s))
cout << removeLeadingSpaces(s) << endl;
}
int main()
{
cout << printindented() << endl;
}
有问题的行是
cout << printindented() << endl;
在main
.该行
cout << removeLeadingSpaces(s) << endl;
在printindented
就好了。
将main
中的行更改为:
printindented();
在 int main 中,您尝试打印一个返回导致错误的函数void
。此外,您应该使用适当的缩进,下次通过更深入地了解问题来更好地表达您的问题。固定代码
int main()
{
printindented(); // Can't print void cout << printindented() << endl;
}
相关文章:
- 二进制表达式的操作数无效 - 使用 for 和迭代器
- 二进制表达式 cout 问题的无效操作数
- 二进制表达式的操作数无效?
- 二进制表达式的操作数无效("常量字符*"和"常量字符*")
- 如何修复"二进制表达式的无效操作数"?
- 没有变量声明为函数,但错误:二进制表达式的操作数无效
- 如何修复此错误:二进制表达式的操作数无效("std::vector<double>"和"double")?
- 如何将无效操作数修复为二进制表达式
- 错误:二进制表达式的操作数无效(映射使用查找函数错误)
- 错误:二进制表达式('float' 和 'float')返回的无效操作数 (x & (1 << 31)) == 0
- 如何将无效操作数修复为带有字符串的二进制表达式?
- 手动将二进制表达式计算为十六进制
- 实现 vector 时二进制表达式的操作数无效
- 提升multi_index示例:错误:二进制表达式的操作数无效
- 无效的操作数到二进制表达式:
- 二进制表达式的操作数无效("无线电设备"和"常量无线电设备")
- “无效的操作数是二进制表达式”当使用自定义结构作为C 中的MAP索引时
- 使用 std::replace C++ 时二进制表达式的操作数无效
- 二进制表达式中的 GCC 常量临时
- 二进制表达式的语义问题无效操作数("双精度"和"双精度")