我正在尝试创建一个代表卡片的类。但是我在编译时遇到了这个错误。
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/