C++ std::basic#ostream在C+中不可访问+;
我得到以下错误,我不确定问题是什么 1智能感知:“std::basic_ostream::basic_ostream(const std::basic_ostream::_Myt&_Right)[with _Elem=char,_Traits=std::char_Traits]”(声明) 在“C:\Program Files(x86)\Microsoft Visual Studio”的第82行 11.0\VC\include\ostream“)不可访问 Book.cppC++ std::basic#ostream在C+中不可访问+;,c++,c++11,C++,C++11,我得到以下错误,我不确定问题是什么 1智能感知:“std::basic_ostream::basic_ostream(const std::basic_ostream::_Myt&_Right)[with _Elem=char,_Traits=std::char_Traits]”(声明) 在“C:\Program Files(x86)\Microsoft Visual Studio”的第82行 11.0\VC\include\ostream“)不可访问 Book.cpp ostream oper
ostream operator<< (ostream& out, const Book & b){
out << "Title: " << b.my_Title << endl;
out << "Author: " << b.my_Author << endl;
out << "Number of time checkout out: " << b.my_NumberOfTimesCheckedOut;
return(out);
}
我甚至不明白错误告诉我什么我怀疑您使用的是一个古老的编译器,它通过将复制构造函数私有化来实现禁止复制std::ostream,这是不可复制的;因此出现了令人困惑的“无法访问”错误
std::ostream
不可复制。您必须返回一个引用:
ostream &operator<< (ostream& out, const Book & b){
ostream&operator我想您是想返回ostream的引用
ostream& operator<< (ostream& out, const Book & b){
out << "Title: " << b.my_Title << endl;
out << "Author: " << b.my_Author << endl;
out << "Number of time checkout out: " << b.my_NumberOfTimesCheckedOut;
return(out);
}
ostream&operator但现在我在friend ostream operator IntelliSense上遇到了一个错误:无法重载以返回类型ALONE区分的函数。我遇到了更多的随机错误。但是你解决了我的问题谢谢,谢谢!这修复了我的错误,但现在我有一个新错误=/error 5 error C2556:'std::ostream&CS20A::operator您还需要在类声明中添加引用-friend ostream&operator
ostream& operator<< (ostream& out, const Book & b){
out << "Title: " << b.my_Title << endl;
out << "Author: " << b.my_Author << endl;
out << "Number of time checkout out: " << b.my_NumberOfTimesCheckedOut;
return(out);
}