我在GlobalGameEnums.h中创建了一个枚举。我已经在我的类中声明的Board.h中包含了此头文件,但它不会让我使用枚举值。错误:枚举“e_Sides”没有成员“左”
的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类型,但在方法体中它给了我一个错误使用左/右(Error: enum "e_Side" has no member "Left"
)。
我已经尝试了很多配置,并搜索了一个旧的解决方案,但无法让它工作。
避免发生ifndef错误的一种方法是使用['#pragma once'](https://en.wikipedia.org/wiki/Pragma_once),而不是如果你有它的支持 – 2013-05-13 18:29:40