我在 GlobalGameEnums.h 中创建了一个枚举。我已在 Board.h 中包含此标头,我已在我的班级中声明,但它不会让我使用枚举值。
GlobalGameEnums.h:
#ifdef GLOBALGAMEENUMS_H
#define GLOBALGAMEENUMS_H
enum class e_Side
{
Right,
Left
};
#endif
和 Board.h:
#ifndef BOARD_H
.
.
#include "GlobalGameEnums.h"
class Board
{
public:
Board(int i_boardSize, int i_lowBound, int i_highBound);
~Board();
int MakePlayerMove(enum e_Side i_sideTaken )
{
switch (i_sideTaken)
{
case e_Side::Left:
break;
case e_Side::Right:
break;
}
}
private:
std::vector<Cell> m_cellVector;
};
#endif
在方法 MakePlayerMove 的声明中,它确实识别 e_Side 类型,但在方法主体中,它给了我使用 Left/Right ( Error: enum "e_Side" has no member "Left"
) 的错误。
我尝试了很多配置并搜索了旧的解决方案,但无法使其正常工作。