我正在尝试开设一张代表卡片的类(class)。但是我在编译时遇到了这个错误。



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

#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++中一样,您需要在使用前声明一些内容。因此,必须在诉讼成员声明之前将枚举诉讼的定义移动。

10-08 10:51