C++ c++;如何包含(循环依赖)?

C++ c++;如何包含(循环依赖)?,c++,C++,我有Environment.h文件: #include <windows.h> #include "interfaces.h" #ifndef ENVIRONMENT_H #define ENVIRONMENT_H class Environment {}; #endif 在界面IMoving中,我希望获得一个环境类,以了解如何移动 class IMoving { public: virtual void Move(Environment*) = 0;

我有Environment.h文件:

#include <windows.h>
#include "interfaces.h"

#ifndef ENVIRONMENT_H
#define ENVIRONMENT_H

class Environment {};
#endif
在界面IMoving中,我希望获得一个环境类,以了解如何移动

class IMoving {
    public: 
        virtual void Move(Environment*) = 0;          
};
如果我想这样做,我需要包括environment.h

#include "Environment.h"
这里我得到一个错误,因为环境。h-包括接口。h和接口。h-包括环境。h。那么如何让它工作呢


很抱歉拼写错误

看起来您将类名拼错了几次(environment,environment)。这可能是你问题的根源吗

否则,我通常使用

,因为可以使用转发声明

在接口定义正上方的Interfaces.h中,转发声明
Environment
,如下所示:

class Environment;
然后,当您在类中实现IMoving时,您将在其实现文件中包含Environment.h

您可以阅读有关转发声明的更多信息

class Environment;