Классы C ++ с членами, ссылающимися друг на друга

Я пытаюсь написать 2 класса с членами, которые ссылаются друг на друга. Я не уверен, что делаю что-то не так или это просто невозможно. Может кто-нибудь помочь мне здесь...

Source.cpp

#include "Headers.h"
using namespace std;

void main()
{
    Network* network = new Network();

    system("pause");
    return;
}

Headers.h

#ifndef Headers_h
#define Headers_h

#include <iostream>
#include <vector>
#include "Network.h"
#include "Router.h"

#endif

Network.h

#include "Headers.h"

class Network
{
protected:
    vector<Router> Routers;
};

Router.h

#include "Headers.h"

class Router
{
protected:
    Network* network;
public:
};

Я получаю следующие ошибки:

ошибка C2143: синтаксическая ошибка: отсутствует ';' до '<'
ошибка C2238: неожиданный токен (ы) перед ';'
ошибка C4430: отсутствует указатель типа - предполагается int.

Я почти уверен, что не пропускаю ни точки с запятой, ни тому подобное. Программа работает, найду ли я одного из участников. Я пытался найти похожие вопросы, и решение было использовать указатели, но это то, что я делаю, и это, похоже, не работает!

Ответы на вопрос(4)

Ваш ответ на вопрос