1
ProjectEuler에서 문제 54를 해결하려고합니다. 그것에 익숙하지 않은 사람들을 위해, 그것은 1000 게임의 포커를위한 우승자를 찾는 것을 포함합니다.구조체 배열로 typedef 만들기
내가 겪고있는 문제는 typedef를 사용하여 프로그램을 더 간단하고 쉽게 읽을 수있게하려고 할 때 다음과 같은 문제가 발생한다는 것입니다.
오류가
pokerchecker.hpp:37: error: expected unqualified-id before '[' token
pokerchecker.hpp:38: error: ISO C++ forbids declaration of 'Hand' with no type
이 많은 다른 오류 다음에,하지만 그들은 위의에 의해 발생하는 경우입니다.
#ifndef POKERCHECKER_HPP
#define POKERCHECKER_HPP
class PokerChecker{
public:
PokerChecker(){};
~PokerChecker(){};
enum Rank{
TWO = 2,
THREE,
FOUR,
FIVE,
SIX,
SEVEN,
EIGHT,
NINE,
TEN,
JACK,
QUEEN,
KING,
ACE
};
enum Suit{
HEART,
DIAMOND,
CLUB,
SPADE
};
struct Card{
Rank rank;
Suit suit;
};
typedef Card[5] Hand; // line 37
typedef Hand[2] PokerGame;
typedef short Winner;
Winner EvaluateGame(PokerGame unsortedGame);
private:
PokerGame SortGame(PokerGame unsortedGame);
Hand SortHand(Hand);
// each function returns the highest card (for comparing two similar hands)
Card CheckRF(Hand);
Card CheckSF(Hand);
Card CheckFOAK(Hand);
Card CheckFH(Hand);
Card CheckF(Hand);
Card CheckS(Hand);
Card CheckTOAK(Hand);
Card CheckTP(Hand);
Card CheckOP(Hand);
Card CheckHC(Hand);
};
#endif //POKERCHECKER_HPP
나는 가능한 할 노력하고 무엇
typedef Card[5] Hand;
전체 헤더를 다음과 같이
라인 (37)은? 그렇다면 현재의 코드가 어떻게/무슨 문제가 있습니까?
감사합니다! 할 수있을 때 받아 들일 것입니다. – OMGtechy
@joshuagerrard'typedef'에 대한 일반적인 규칙은 '변수를 만들고있는 척합니다' – Yakk
@Yakk 큰 충고입니다, 감사합니다! :) – OMGtechy