二进制表达式 cout 问题的无效操作数
Invalid operands to binary expression cout problem
void Basket_LinkedList::print_cookies() const{
cout<<"**********cookies' basket**********"<<endl;
//list<Cookie> basket_list;
for (auto it=basket_list.begin(); it!=basket_list.end(); it++) {
if (it->get_size()==Cookie::CookieSize::small) {
//cout<<*it<<endl;
}
}
cout<<"**********cookies' basket**********"<<endl;
}
对于第一个,我收到错误,将行标记标记为//
:
(Invalid operands to binary expression ('std::__1::ostream')
(aka 'basic_ostream<char>')
第二个错误是:
'const std::__1::__list_const_iterator<Cookie, void *>::value_type'
(aka 'const Cookie')))
有人可以解释并帮助解决它吗?
当编译器声明它不知道如何使用插入运算符<<
与您指定的类型一起使用时,会弹出这些类型的错误。 定义如下所示的函数将对您有所帮助。
ostream& operator<<(ostream& out, const Cookie& c){
out << c.some_field;
return out;
}
相关文章:
- 类型"int"和"const char [15]"到二进制"运算符<<"的无效操作数^
- 二进制表达式 cout 问题的无效操作数
- 二进制'operator+' 'int*'和'int*'类型的无效操作数
- 'const char [26]' 和 'LPSTR ' 类型的无效操作数
- 如何修复"二进制表达式的无效操作数"?
- 如何将无效操作数修复为二进制表达式
- 错误:二进制表达式('float' 和 'float')返回的无效操作数 (x & (1 << 31)) == 0
- 加密注释C++具有无效操作数的编译错误
- 如何将无效操作数修复为带有字符串的二进制表达式?
- 模板 &&运算符中的无效操作数+
- 类型别名和运算符<<使用 ostream_iterator 重载会导致无效操作数
- 类型为"double" snd const char [3]' 到二进制'operator<<'的无效操作数
- 二进制表达式的语义问题无效操作数("双精度"和"双精度")
- 'double' 和 'const char [2]' 到二进制"运算符!="的无效操作数|
- 具有重载运算符<<的无效操作数
- 'double' 和 'double' 类型的无效操作数
- 整数和无效操作数中的小数*已更新
- 二进制'operator<<' 'const char [6]'和'const char [3]'类型的无效操作数
- 将算法c++的无效操作数替换为二进制表达式
- 'char*'和'const char [2]'到二进制'operator+'类型的 C++ 无效操作数