c++ - 在类中的 C++ 中实现枚举时出错

标签 c++ enums compiler-errors

我正在尝试创建一个代表卡片的类。但是我在编译时遇到了这个错误。

error: expected `;' before "suit".

任何人都可以帮助解决这段代码的问题吗?

#include<string>
using namespace std;
class Card {

private:
       Card::Suit suit;
       Card::CardName cardName;
public:
    enum Suit {Clubs, Diamonds, Hearts, Spades, UNKNOWN_SUIT};
    enum  CardName {Ace, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, UNKNOWN_CARDNAME};
    class NotInitalised : public exception{};
    Card ();
    Card (int card);
    Card (Card::Suit s, Card::CardName n);
    void setCard(Card::Suit, Card::CardName);
    Card::Suit getSuit();
    Card::CardName getCardName();
    Card::CardName getCardName(int);
    int getCardValue();
    string toString();
};

最佳答案

与往常一样,在 C++ 中,您需要在使用之前声明一些内容。因此,您必须在 suit 成员声明之前移动 enum Suit 的定义。

关于c++ - 在类中的 C++ 中实现枚举时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13134416/

相关文章:

c++ - OpenMP:同时写入 std::map

java - 这个枚举模式叫什么?

c# - 根据上下文标记具有共享值的枚举?

c++ - Visual Studio 2010 链接器中的可能错误(包括最小测试用例)

c++ - 我需要使用具有 C++ 的 add() 和 remove() 函数的字符串创建一个优先级队列

c++ - GDB打印结构的字段

c++ - OpenCV Mat::operator= - 它支持写时复制吗?

python - 在 Python 中访问枚举

gcc - 在 gcc powerpc 编译中使用 -meabi 选项

java - 找不到符号 HttpClient