不能互相包含h个文件

时间:2018-11-07 18:15:41

标签: c++11 firmware esp32

我有一个问题,即文件States.h虽然包含枚举“ ExecutionStates”,但它不知道。

States.h:

#ifndef States_h
#define States_h

#include "Definitions.h"

class States
{
    public:
        void StateRun();
        void InjectState(ExecutionStates injected);    
    private:
        ExecutionStates currentState;
};
#endif 

Definitions.h:

#ifndef Definitions_h
#define Definitions_h        
#include "States.h" //this gives error

enum ExecutionStates {
    EXS_Idle [and more]
};
#endif

当我在Definitions.h中包含States.h时,该错误发生在States.h中,并指出ExecutionStates未命名类型。我试图向前在States.h中声明该枚举,但这没有帮助。 提前谢谢你。

0 个答案:

没有答案