Có vấn đề với phương pháp cụ thể này và không chắc chắn cách giải quyết nó! Các lỗi tôi nhận được là ở trên:Không thể truy cập thành viên riêng được khai báo trong lớp 'std :: basic_ios <_Elem, _Traits>'
"lỗi C2248: 'std :: basic_ios < _Elem, _Traits> :: basic_ios': không truy cập thành viên tư nhân có thể khai báo trong lớp 'std :: basic_ios < _Elem, _Traits>' C: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bao gồm ostream 604" \
phương pháp của tôi là:
ostream operator<<(ostream & stream, ProcessClass const & rhs)
{
stream << rhs.name_;
return stream;
}
Và trong tiêu đề:
friend std::ostream operator<<(std::ostream & stream, ProcessClass const & rhs);
Bất kỳ ý tưởng nào về cách giải quyết vấn đề này? Tôi nghĩ rằng đó là một cái gì đó để làm với đi qua tham chiếu thay vì giá trị ... nhưng tôi là một chút bối rối!
Bây giờ điều khó hiểu là (và tôi không chắc chắn những gì tôi đang thiếu) là khi tôi c hange nó lên trên (mà tôi đã thử trước) sau đó tôi nhận được một lỗi ... 'lỗi C2556: 'std :: ostream & operator << (std :: ostream &, const ProcessClass &)': các chức năng quá tải khác chỉ bằng loại trả về từ 'std :: ostream operator << (std :: ostream &, const ProcessClass &)' ' NB. Tôi đã sửa đổi một chút mã, nhưng đi cùng với mã như trên, lỗi được tạo ra theo cách thức khi biên dịch. – Fids
@Đặt giá: Bạn đã xác định hai lần trong lớp học của mình. Tại sao bạn định nghĩa nó hai lần? – Nawaz