错误:枚举"e_Sides"没有成员"Left"

era*_*dor -3 c++ enums

我在GlobalGameEnums.h中创建了一个枚举.我在Board.h中包含了这个标题,我已经在我的类中声明了但它不会让我使用枚举值.

GlobalGameEnums.h:

#ifdef GLOBALGAMEENUMS_H
#define GLOBALGAMEENUMS_H

enum class e_Side
{
    Right,
    Left
};

#endif
Run Code Online (Sandbox Code Playgroud)

而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
Run Code Online (Sandbox Code Playgroud)

在方法MakePlayerMove的声明中,它确实识别e_Side类型,但在方法体中,它给出了使用Left/Right(Error: enum "e_Side" has no member "Left")的错误.

我已经尝试了很多配置并搜索了一个旧的解决方案,但无法使其正常工作.

小智 5

你的枚举标题中的标题保护是错误的.你有#ifdef而不是#ifndef.