c++ how to include (circular dependency)?
<p>I have Environment.h file: </p>

<pre><code>#include &lt;windows.h&gt;
#include "interfaces.h"

#ifndef ENVIRONMENT_H
#define ENVIRONMENT_H

class Environment {};
#endif
</code></pre>

<p>and i have Interfaces.h file:</p>

<pre><code>#ifndef INTERFACES_H
#define INTERFACES_H

class IMoving {
    public: 
        virtual void Move() = 0;          
};

#endif
</code></pre>

<p>in interface IMoving i would like to get an Environment class, to know how to move</p>

<pre><code>class IMoving {
    public: 
        virtual void Move(Environment*) = 0;          
};
</code></pre>

<p>if i want to do this i need to include environment.h</p>

<pre><code>#include "Environment.h"
</code></pre>

<p>and here i'm getting an error, becouse Environment.h - includes Interfaces.h and Interfaces.h - includes Environtment.h. So how to make it work ?</p>

<p><strong>Sorry for spelling mistakes</strong></p>
