代码之家  ›  专栏  ›  技术社区  ›  NipperDJ

我偷了纸牌游戏的c++头代码,它无法编译。。。杜赫

  •  -3
  • NipperDJ  · 技术社区  · 10 年前

    我是一个新手c++(但经验丰富的visual basic、visual foxpro),我正在尝试编写一个21点控制台程序。我从一个旧线程中借用(窃取、使用等)了头文件片段( Generating a Deck of Cards ).

    这是代码:

    class Card
     {
     public:
     enum ESuit
    {
        Hearts,
        Clubs,
        Diamonds,
        Spades,
        Suit_Count
    };
    
    enum ERank
    {
        Ace,
        Two,
        Three,
        Four,
        Five,
        Six,
        Seven,
        Eight,
        Nine,
        Ten,
        Jack,
        Queen,
        King,
        Rank_Count
    };
    
    static int const skNumCards = Suit_Count * Rank_Count;
    
    Card( int cardIndex )
    : mSuit( static_cast<ESuit>( cardIndex / Rank_Count ) )
    , mRank( static_cast<ERank>( cardIndex % Rank_Count ) )
    {}
    
    ESuit GetSuit() const { return mSuit }; // should be mSuit; }
    ERank GetRank() const { return mRank }; // should be mRank; }
    
    private:
        ESuit mSuit;
        ERank mRank;
    }  // missing ending ;  should be }; 
    

    它无法正确编译。台词有问题:

    ESuit GetSuit() const { return mSuit };  // should be mSuit; }
    ERank GetRank() const { return mRank };  // should be mRank; }
    
    private:
        ESuit mSuit;
        ERank mRank;   
    

    提前感谢您的帮助。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Pradhan    10 年前

    这些线应该是

    ESuit GetSuit() const { return mSuit; }
    ERank GetRank() const { return mRank;}
    

    在类定义的右大括号后还需要一个分号。