Как объявить методы двух классов возвращающие друг друга? C++

У меня есть два класса разных типов матриц, хочу написать методы преобразования одной в другую в каждом из классов, но каждый раз не работает тот метод, класс которого объявлялся раньше (т.к по сути класс, объект которого он возвращает на тот момент еще не существует), с программированием знаком не долго, но уверен как то это должно решатся. Работаю в Visual Studio.

class adjacency {
public:
    incidence transformation() { //преобразование в матрицу инцидентноси
        incidence x;
        ...
        return x;
    }
};
class incidence {
public:
    adjacency transformation() { //преобразование в матрицу смежности
        adjacency x;
        ...
        return x;
    }
};

Ответы (1 шт):

Автор решения: HolyBlackCat
class incidence;

class adjacency
{
   public:
    incidence transformation();
};

class incidence
{
  public:
    adjacency transformation()
    {
        adjacency x;
        // ...
        return x;
    }
};

incidence adjacency::transformation()
{
    incidence x;
    // ...
    return x;
}
→ Ссылка