C++ - 错误 : multiple types in one declaration

标签 c++ linux makefile

我在尝试制作这个程序时遇到了一些问题。当我编译时它告诉我我有一个错误:第 49 行此文件内的一个声明中有多个类型。

#ifndef GRIDGAME_H
#define GRIDGAME_H

#include "GameType.h"

class GridGame {
public:
    GridGame();

    ~GridGame();

    enum GameType GetType() { return m_type; }

    void OutputGreeting() const;

    int NumPlayers() const;

    char GetPlayerSymbol(int player) const;

    int GetBoardSize() const;

    /* Returns NULL on good move, else returns err string.
     * Note that this check is game-neutral (at least for TTT and Reversi)
     */
    const char *IsLegalMove(int player, int row, int col) const;

    void OutputBoard() const;


protected:
    GridGame(enum GameType type, const char *name, const char *playerSymbols, int boardSize);

    void DoBasicMove(int player, int row, int col);

    // The only data member that the subclassed games should really
    // need full read/write access to, once game is set up.
    char **m_board;

private:
    enum GameType m_type;
    const char *m_gameName;
    int m_boardSize;
    const char *m_playerSymbols;

};

#endif //GRIDGAME_H

我没有看到任何错误,任何人都可以帮助我吗?

编辑:第 49 行是最后一个带分号的花括号。

最佳答案

可能的情况是 enum GameType 没有正确声明,也就是说,您的 enum 可能是这样声明的:

enum GameType
{
    First,
    Second,
    //...
    Last
}

问题在于 enum 和任何类型声明都需要在其声明末尾使用分号 (;),如下所示:

enum GameType
{
    First,
    Second,
    //...
    Last
};

关于C++ - 错误 : multiple types in one declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23666802/

相关文章:

c++ - 矩阵初始化

c++ - 在Linux中,等效于在c/c++中打开物理驱动器的句柄并写入MBR的方法是什么?

python - 当我在窗口中打开 CSV 文件时,添加了一行。只有当我将 CSV 文件作为电子邮件附件发送时才会出现这种情况

makefile - 仅当源被先前的命令修改时才重建

c - 在同一个 makefile 中制作 C 和 ASM 文件失败

c++ - while 循环不终止?

javascript - 需要了解幕后 | Node .js

mysql - 无法查询总和并将该总和与 mysql 查询中的另一个总计进行比较

linux - 将数组元素传递给 Heredoc

c - VS code c编程,如何修复-Makefile :2: *** missing separator. Stop.?