Fid*_*ids 10 c++ compiler-errors visual-studio-2010
遇到这种特殊方法的问题而不确定如何解决它!我得到的错误是上面的错误:
"错误C2248:'std :: basic_ios <_Elem,_Traits> :: basic_ios':无法访问类'std :: basic_ios <_Elem,_Traits>'C:\ Program Files\Microsoft Visual Studio 10.0\VC \中声明的私有成员包括\ ostream 604"
我的方法是:
ostream operator<<( ostream & stream, ProcessClass const & rhs )
{
stream << rhs.name_;
return stream;
}
Run Code Online (Sandbox Code Playgroud)
在标题中:
friend std::ostream operator<<( std::ostream & stream, ProcessClass const & rhs );
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?我认为这与通过引用而不是值传递有关...但我有点困惑!
Naw*_*waz 12
返回类型应该ostream &是对其的引用ostream.
ostream & operator<<( ostream & stream, ProcessClass const & rhs )
{ //^^^ note this!
stream << rhs.name_;
return stream;
}
Run Code Online (Sandbox Code Playgroud)
当通过返回值(而不是参考),那么,要求的目标流的复制,但复制任何在C++流对象已被禁用由具有由拷贝构造1 private.
1.以及复制作业.
要知道为什么禁用任何流的复制,请在此处阅读我的详细答案:
| 归档时间: |
|
| 查看次数: |
12655 次 |
| 最近记录: |