const 對象只能調用 const 函數

 

class CheckoutRecord{

  public:

     friend ostream& operator<<  (ostream& out,const CheckoutRecord& cr);

     void test() {}

  private:

     double book_id;

     string title;

     Date date_borrowed;                                   

     Date date_due;

     pair<string,string> borrower;

     //vector< pair<string,string> * > wait_list;

};

 

ostream& operator<< (ostream& out,const CheckoutRecord& cr){

        //out<<cr.book_id<<"/t"<<cr.title<<"/t"<<cr.date_borrowed.getDay(); 

        cr.test();

        return out;

}

 

今天寫C++ Primer課後習題的時候發現一個錯誤,於是自己測試了下

 

報錯 passing 'const CheckoutRecord' as 'this' argument of 'CheckoutRecord' discards qualifiers

 

原來出錯的原因是const對象不能調用非const函數

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章