Задать вопрос
@forIXsins
Выбрал плюсы как первый язык

Почему недоступны приватные поля для дружественного метода?

Учу C++ по роликам 6 летней давности, и дошёл до дружественных методов. Выдаёт ошибку на 26 строке:
6553c6f155830869515253.png
Почему нет доступа к полям? Искал ответ, но ничего не понял
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
А есть вообще такая вещь, как дружественный метод в C++? Я вот тут что-то не вижу такого варианта.

Вот дружественные функции там есть, да.

И в вашем коде компилятор видит, что есть какая-то функция TakeApple в namespace Human. Метод класса Human он тут не замечает вообще. Ну и там, понятное дело, нет никакого доступа к приватным членам класса Apple.

Вам надо или помечать дружественным весь класс Human, или выносить ваш код в отдельную функцию, которая будет дружественная обоим классам.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы