簡體   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