Оператор-друг не видит приватные поля класса
Оператор-друг не видит приватные поля класса. Выдает две ошибки:
- Ошибка (активно) E0265 член "List::size" (объявлено в строке 22 из "D:\CODES\dsa\d\listHead.h") недоступно d D:\CODES\dsa\d\listRes.cpp 82
- Ошибка (активно) E0265 член "List::ptr" (объявлено в строке 23 из "D:\CODES\dsa\d\listHead.h") недоступно d D:\CODES\dsa\d\listRes.cpp 83
Ошибки в listRes.cpp. Ниже предаставлен код класса. Ошибка в операторе >>
class List {
friend istream& operator>> (istream& in, List& a);
private:
int size;
int* ptr;
};
// listRes.cpp
#include "listHead.h"
#include <iostream>
using namespace std;
istream& operator>> (istream& in, List& a) {
for (int i = 0; i < a.size; i++)
in >> a.ptr[i];
return in;
}
Ответы (1 шт):
Автор решения: Tigran
→ Ссылка
Проблему решил таким образом. Добавил в файл заголовка пространство имен std (using namespace std;). Всем спасибо кто откликся.