Я новичок в C ++ (но неплохой опыт Visual Basic, Visual FoxPro), и я пытаюсь написать консольную программу для блэкджека. Я позаимствовал (украл, использовал и т. Д.) Фрагмент файла заголовка из старого потока (Создание колоды карт).
Это код:
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;
Спасибо заранее за любую помощь.
Эти строки должны быть
ESuit GetSuit() const { return mSuit; }
ERank GetRank() const { return mRank;}
Вам также нужна точка с запятой после закрывающей скобки определения класса.