title: Why is my vector giving me an out of range at memory location error?
body: <p>Like my title says I am having an issue with getting an out range error with my code in C++. The basic gist is that I am making a vector for a 52 card deck. After which I am randomizing the order of the cards. </p>
  
  <p>When I go to print out the cards one by one in the terminal I get an out of range error for the location of memory. The output gives me the first card but then breaks. </p>
  
  <p>From error checking I know my Deck size is 1 but I thought that my push back when creating the deck would increase the deck size to be 52. </p>
  
  <p>Is there something I am missing? Any help is appreciated.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;chrono&gt;       
  #include &lt;random&gt;
  #include &lt;vector&gt;
  
  int main() {
      srand(time(0));
      std::vector &lt;std::string&gt; Deck[52];
      CreateDeck(Deck);
      ShuffleDeck(Deck);
      ShowDeck(Deck);
  }
  
  void ShowDeck(std::vector &lt;std::string&gt; Deck[52]) {
      for (size_t i = 0; i &lt; 52; i++) {
  
          // Microsoft C++ exception: std::out_of_range at memory location 0x004FF718.
          std::cout &lt;&lt; Deck-&gt;at(i) &lt;&lt; ",";
          if ((i + 1) % 13 == 0) {
              std::cout &lt;&lt; "\n" &lt;&lt; std::endl;
          }
      }
  }
  
  void ShuffleDeck(std::vector &lt;std::string&gt; Deck[52]) {
  
      //shuffle deck to a randomize order
      unsigned seed = rand() % 100;
      std::shuffle(Deck, Deck + 52, std::default_random_engine(seed));
      std::cout &lt;&lt; " Shuffling Deck......." &lt;&lt; std::endl;
  }
  
  void CreateDeck(std::vector &lt;std::string&gt; Deck[52])
  {
      //using the arrays below contruct a 52 playing card deck 
      std::string suit[4] = { "S","C","D","H" };
      std::string value[13] = { "A","2","3","4","5","6","7","8","9","10","J","Q","K" };
      int x = 0;
      for (size_t j = 0; j &lt; 4; j++)
      {
          for (size_t i = 0; i &lt; 13; i++)
          {
              Deck[x].push_back("[" + value[i] + suit[j] + "]");
              x++;
          }
      }
  }
  </code></pre>