您的位置:首页 > 其它

将'const xxx'作为'xxx'的'this'实参时丢弃了类型限定

2012-12-14 14:25 701 查看
这样的错误一般是因为const限定符的问题

################a.h###############
class A
{
public:
size_t size(){return size;}
};

################main.cpp###########
void print(const A& a)
{
cout << a.size() << endl;
}

A a;
print(a);

错误:将const xxx 作为xxx 的this 实参时丢弃了类型限定
解决:这是由于print()传递的是const参数,而A::size() 不保证传递的实参不改变,所以
报错(STL机制问题). 应该吧size()声明为const函数,以保证编译通过。
size_t size() const;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: