エラー:スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

V.Pashaliuk
class Card
{
private:
  int face;
  char suit;
public:
  Card();
  Card(char, int);
  int getRank() { return face; }
  char getSuit() { return suit; }
  void setFace(int cardFace) { face = cardFace; }
  void setSuit(char cardSuit) { suit = cardSuit; }
};
Card::Card(char cardSuit, int cardFace)
{
  face = cardFace;
  suit = cardSuit;
}

class Player
{  
public:
  Player();
  vector<Card>allCards;
  vector<Card>hand;   //holds 7 cards
};

Player::Player()
{
  std::random_device seed;
  std::mt19937 rng(seed());
  for (int i = 1; i <= 13; i++)
  {
      Card c1('D', i), c2('C', i), c3('H', i), c4('S', i);
      allCards.push_back(c1);
      allCards.push_back(c2);
      allCards.push_back(c3);
      allCards.push_back(c4);
  }
  shuffle(std::begin(allCards), std::end(allCards), rng);
      for (int x = 0; x < 7; x++) {
          hand[x] = allCards.back(); <---------- Error here
          allCards.pop_back();
      }
}

クラスを使用してゲームを作成しようとしていますが、ある時点で各プレーヤーに7枚のカードを割り当てる必要がありますが、これは私が管理しようとしている方法では機能しません。

次のエラーが表示されます

Error: Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)
ますますばか

handベクトルを初期化するのを忘れましたデフォルトでは、のサイズが0あり、アクセスhand[x]は範囲外です。

一定のサイズになることがわかっている場合は、Playerコンストラクターの初期化リストでそのサイズを初期化できます

Player::Player() : hand(HAND_SIZE) {
   ...
}

または、他の方法で初期化されない限りpush_back()handが空であるため使用するコードを変更できます

hand.push_back(allCards.back());

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

分類Dev

シーンの視点スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

分類Dev

CプログラミングEXC_BAD_ACCESS(コード:1、アドレス= 0x0)エラー

分類Dev

OpenGL-glGenVertexArrays、 "スレッド1:exc_bad_access(コード= 1、アドレス= 0x0)"

分類Dev

スレッド1でSwiftプロジェクトがクラッシュする:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

分類Dev

スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x0)xCode C ++

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x40)

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x48)avaudiofoundation

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x30000008)

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x176b)

分類Dev

C ++スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x8

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x8000000000000010)

分類Dev

iOS-チャートエラー:スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス= 0x2a0c220)

分類Dev

デバッガーにステップインするときのEXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

分類Dev

iOSアプリがエラースレッド4をスローする:カスタムTensorflow tfliteモデルでEXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス= 0x7ffeeaa26f48)

分類Dev

スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0xf1759018)

分類Dev

スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)Relm

分類Dev

TableViewCellのスレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)

分類Dev

スレッド1:EXC_BAD_INSTRUCTION(code = EXC_1386_INVOP、SUBCODE = 0X0)-エラー

分類Dev

React Nativeアプリのクラッシュ(スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x54))

分類Dev

React Nativeアプリのクラッシュ(スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x54))

分類Dev

iOSエラー:スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x726f635f)?

分類Dev

Swift xcodeエラー:スレッド1:EXC_BAD_ACCESS(code = 2、address = 0x7ff54b59ff8)

分類Dev

Thread1:EXC_BAD_ACCESS(コード=1、アドレス=0X48) AVAudioPlayer(Swift)

分類Dev

スレッド1:exc_bad_instruction(code = exc_1386_invop、subcode = 0x0)

分類Dev

Thread1: EXC_BAD_ACCESS(コード=2、アドレス=0x7fff5450df68)

分類Dev

iOS11がAVPlayerItemTrack.assetTrack.mediaTypeでクラッシュする(スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x0)

分類Dev

SWIFT UI LOTTIE:スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)

Related 関連記事

  1. 1

    EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

  2. 2

    シーンの視点スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

  3. 3

    CプログラミングEXC_BAD_ACCESS(コード:1、アドレス= 0x0)エラー

  4. 4

    OpenGL-glGenVertexArrays、 "スレッド1:exc_bad_access(コード= 1、アドレス= 0x0)"

  5. 5

    スレッド1でSwiftプロジェクトがクラッシュする:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

  6. 6

    スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x0)xCode C ++

  7. 7

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x40)

  8. 8

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x48)avaudiofoundation

  9. 9

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x30000008)

  10. 10

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x176b)

  11. 11

    C ++スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x8

  12. 12

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x8000000000000010)

  13. 13

    iOS-チャートエラー:スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス= 0x2a0c220)

  14. 14

    デバッガーにステップインするときのEXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

  15. 15

    iOSアプリがエラースレッド4をスローする:カスタムTensorflow tfliteモデルでEXC_BAD_ACCESS(コード= 1、アドレス= 0x0)

  16. 16

    スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス= 0x7ffeeaa26f48)

  17. 17

    スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0xf1759018)

  18. 18

    スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)Relm

  19. 19

    TableViewCellのスレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)

  20. 20

    スレッド1:EXC_BAD_INSTRUCTION(code = EXC_1386_INVOP、SUBCODE = 0X0)-エラー

  21. 21

    React Nativeアプリのクラッシュ(スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x54))

  22. 22

    React Nativeアプリのクラッシュ(スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x54))

  23. 23

    iOSエラー:スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x726f635f)?

  24. 24

    Swift xcodeエラー:スレッド1:EXC_BAD_ACCESS(code = 2、address = 0x7ff54b59ff8)

  25. 25

    Thread1:EXC_BAD_ACCESS(コード=1、アドレス=0X48) AVAudioPlayer(Swift)

  26. 26

    スレッド1:exc_bad_instruction(code = exc_1386_invop、subcode = 0x0)

  27. 27

    Thread1: EXC_BAD_ACCESS(コード=2、アドレス=0x7fff5450df68)

  28. 28

    iOS11がAVPlayerItemTrack.assetTrack.mediaTypeでクラッシュする(スレッド1:EXC_BAD_ACCESS(code = 1、address = 0x0)

  29. 29

    SWIFT UI LOTTIE:スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)

ホットタグ

アーカイブ