class CDB;
class CDM
{
public:
friend CDB& CDB::Add(const CDM&);
CDM& Add(const CDB&);
};
class CDB
{
public:
CDB& Add(const CDM&);
friend CDM& CDM::Add(const CDB&);
};
Этот код дает мне ошибку: error C2027: использование неопределенного типа «CDB». Как это решить.Есть ли способ объявить взаимные функции друга для двух классов
Вы не можете. Вы должны сделать один класс полностью другом другого или сделать один класс вложенным в другое. –
Чтобы создать ссылку, вам необходимо создать экземпляр объекта класса друга. Например, в CDM, вызов CDB :: Add работает над тем, что Object? Вы можете уйти от него, если функции, где статические. – Aumnayan