Проблемы доступа к значениям в std :: тип массива C ++ - PullRequest
0 голосов
/ 24 ноября 2018

Я новичок в C ++ и в настоящее время пытаюсь написать простую игру в блэкджек.Я пытаюсь создать функцию колоды, которая генерирует 52 карты в массиве.У меня проблемы с доступом к значениям в массиве std :: из моей функции.Я вызываю функцию «create_deck» в основной функции, но я получаю только первый индекс моего массива Deck.Я думаю, что я путаюсь с указателями, но я не уверен, как отладить это.

Есть предложения?

array<string,52> create_deck()
    {

    array<string,52> Deck;        //array to store the deck  

    array<string,13> Cards = {"A","2","3","4",
                        "5","6","7","8",
                        "9","10","J","Q","K"}; //stores all the different card 

    int count = 0;              //stores the index for Deck array 

    //index each card type 
    for(int card_index = 0; card_index < 13; card_index++)

        {
        //index each suit per card type 
        for(int suit_index = 0; suit_index < 4; suit_index++)
            {
            //append each suit of the specific card type to the deck
            Deck[count] = Cards[card_index];

            //check to see if cards are being added to the deck
            cout << Deck.at(count) << endl;
            }
        }

         return Deck;
     }

int main() {
         array<string,52> myDeck = create_deck();

         for(int index =0; index<myDeck.size();index++)
             {
             cout << myDeck.at(index) <<endl;
             }

         return 0;
     }

1 Ответ

0 голосов
/ 24 ноября 2018

В конце внутреннего цикла отсутствует счетчик ++.Вы не уверены, как отладить это: запустите его в режиме отладки и «пошаговая» проверка различных переменных может помочь.

...