首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

重载ostream &operator<<(ostream &out, const Calculate &c) ;中, 第一

2012-05-13 
重载ostream &operator(ostream &out, const Calculate &c) 中, 第一个参数应该为const么?C/C++ codeco

重载ostream &operator<<(ostream &out, const Calculate &c) ;中, 第一个参数应该为const么?

C/C++ code
const ostream &operator<<(const ostream &out, const Calculate &c){   out <<c.first <<" " <<c.second ;   return out ;}....int main(){   Calculate c ;   cout <<c <<endl ;             // vs08这里会报错, 说"无法从“const std::ostream”转换为“std::ostream &”"   return 0 ;}

问个路大神, 何故?



[解决办法]
ostream::operator<<各重载函数均未用const修饰,因为输出时可能因为某些问题需要置badbit等。
const修饰的类变量不能调用未用const修饰的非静态成员函数

热点排行