error C2440: “return”: 无法从“const Screen”转换为“Screen &”
清泛原创
转换丢失限定符。
出错代码(例子来自c++ primer 4th):
Screen& Screen::display(std::ostream& os) const
{
os << contents << '\n';
return *this;
}
解决办法: c++语言规定,不能从const成员函数返回指向类对象的普通引用,const成员函数只能返回*this作为一个const引用。因此解决办法即是,把成员函数声明为 const Screen& display(std::ostream &os) const;
上一篇:error C2512: “Foo”: 没有合适的默认构造函数可用
下一篇:error C2662: “Screen::move”: 不能将“this”指针从“const Screen”转换为“ Screen &” 转换丢失限定符