Возможно, это очень простое решение, но в настоящее время это ошеломило меня. Итак, я пишу классы C++ к действию:Функция участника-участника без объявления класса
header.h:
#pragma once
//...
class arrayObj
{
private:
// some variables...
public:
//constructor, destructor, getters, etc...
friend void objManager::foo();
};
//...
class objManager
{
private:
//...
std::vector<std::shared_ptr<arrayObj>> array;
public:
void foo();
//other methods...
};
Теперь, как есть, мой компилятор не найдет класс декларации objManager (или функции-члена) объявлен для включения друга. Однако с объявлением objManager, помещенным перед arrayObj, arrayObj больше не объявляется для внутреннего вектора общих указателей. Есть ли способ переслать объявление objManager в этом случае или иным способом решить эту проблему без демонтажа objManager в отдельные классы?
Это работает - спасибо. – Huntrontrakkr