Error while trying to use class in another class
<p>I'm writing something in C++. I have 2 classes which I want to contain one into the other as in the folowing (these are just the header files):</p>

<p>//Timing.h</p>

<pre><code>#ifndef _Timing_h
#define _Timing_h
#include "Agent.h"

class Timing{
    private:
        typedef struct Message{
            Agent* _agent; //i get here a compilation problem
            double _id;
        } Message;
        typedef struct MessageArr{
        } MessageArr;
    public:
        Timing();
        ~Timing();
};
#endif
</code></pre>

<p>//Agent.h</p>

<pre><code>#ifndef _Agent_h
#define _Agent_h
#include &lt;string&gt;
#include "Timing.h"
using namespace std;

class Agent{
    public:
        Agent(string agentName);
        void SetNextAgent(Agent* nextAgent);
        Agent* GetNextAgent();
        void SendMessage(Agent* toAgent, double id);
        void RecieveMessage(double val);
        ~Agent();
    private:
        string _agentName;
        double _pID;
        double _mID;
        Agent* _nextAgent;
};
#endif
</code></pre>

<p>The compilation error is in the Timing.h file inside the definition of the struct:</p>

<blockquote>
  <p>expected ';' before '*' token</p>
</blockquote>

<p>What am I doing wrong?</p>
