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 C2440 const

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部