Объявить функцию члена класса как функция друга другого классаC++

Программы на C++. Форум разработчиков
Anonymous
Объявить функцию члена класса как функция друга другого класса

Сообщение Anonymous »

Я создал 2 класса (класс A и класс B) Я объявил класс A перед классом B (заявление о классе A). Я создал публичную функцию в классе B с именем Funb (Temp). В классе A я объявил функцию FUNB класса B как функцию друга класса A. < /p>
Я получаю ошибку, когда пишу определение Funb () внутри определения класса B. но когда я пишу определение функции funb () вне класса B, тогда она работает нормально. < /strong> < /p>
Может ли кто -нибудь объяснить, почему это происходит ????
Я очень запутался. < /p>

Код: Выделить всё

// ERROR
class A;
class B{
public:
void funB(A temp){
printf("friend function");
}
};

class A{
public:
friend void B::funB(A);
};
< /code>
Выше код показывает мне ошибку < /p>
👇 Приведенный ниже код работает нормально. < /p>
class A;
class B{
public:
void funB(A temp);
};

class A{
public:
friend void B::funB(A);
};

void B::funB(A temp){
printf("friend function");
}
ответьте на мою проблему.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ther-class

Вернуться в «C++»