我对 const 有疑问。说我有:
class A{
friend std::ostream& operator<<(std::ostream& os,const A& myObj);
private:
std::map<int,int> someMap;
int someInteger;
};
std::ostream& operator<<(std::ostream& os,const A& myObj){
os<<myObj.someInteger<<std::endl;
os<<myObj.someMap[0]<<std::endl;
}
由于与地图的 const 冲突,这种代码在编译时会产生错误(如果我注释打印地图值的行一切都很好),如果我去掉函数原型中的“const”一切都很好。实在看不出问题出在哪里。。
请问有什么帮助吗?