二进制表达式 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;
}
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;
}