繁体   English   中英

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM