C++ 错误C2248:&x27;标准::基本操作系统<_元素,_Traits>;::基本ios';:无法访问类';标准::基本操作系统<_元素,_Traits>';
得到这个错误,我很确定它在操作符C++ 错误C2248:&x27;标准::基本操作系统<_元素,_Traits>;::基本ios';:无法访问类';标准::基本操作系统<_元素,_Traits>';,c++,C++,得到这个错误,我很确定它在操作符ostream操作符操作符中,您需要通过引用而不是值返回ostream。它试图调用构造函数。 也可以传递“a”作为引用: ostream& operator<<(ostream & sout,const CRational& a) 谢谢你的帮助。但我遇到了一个新问题。当我使用这个函数时,数字会以递归的方式向后打印。 ostream operator<<(ostream & sout,const CRatio
ostream操作符操作符中,您需要通过引用而不是值返回ostream。它试图调用构造函数。
也可以传递“a”作为引用:
ostream& operator<<(ostream & sout,const CRational& a)
谢谢你的帮助。但我遇到了一个新问题。当我使用这个函数时,数字会以递归的方式向后打印。
ostream operator<<(ostream & sout,const CRational a)
^ You are trying to return by value
ostream& operator<<(ostream & sout,const CRational& a)
void CRational::print(ostream & sout) const
{
if(m_denominator == 1)
sout << m_numerator;
else
sout << m_numerator << "/" << m_denominator;
}