小编and*_*rey的帖子

错误C2248:'std :: basic_ios <_Elem,_Traits> :: basic_ios':无法访问类'std :: basic_ios <_Elem,_Traits>'中声明的私有成员

得到这个错误,我很确定它在operator <<函数中.两张照片都是公开的.

void CRational::print() const
{
    print(cout);
}

void CRational::print(ostream & sout) const
{
    if(m_denominator == 1)
        cout << m_numerator;
    else
        cout << m_numerator << "/" << m_denominator;
}

ostream operator<<(ostream & sout,const CRational a)
{
    a.print();

    return sout;
}

CRational operator++() // prefix ++x
{
    m_numerator += m_denominator;
    return *this;
}

in main:
cout << "e before: " << e << ", \"cout << ++e\" : " << ++e << " after: " << e << endl; 
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
2
解决办法
7804
查看次数

标签 统计

c++ ×1