Vector out of range program crash.
Here is the line of code bolded and the function that produces the errors.
Code:
void Player::draw(int hand_index, Deck * deck, int number)
{
for(int loop = 0; loop < number; loop++)
{
/* place card in player's hand */
m_player_hands[hand_index].m_card_list.push_back(deck->m_cards.back());
/* hide all dealer cards except for the first one */
if (m_player_id == 0 && loop != 0)
{
m_player_hands[0].m_card_list[loop].flip_card(false);
}
/* remove card from deck */
deck->m_cards.pop_back();
}
}
Here is the state of all my watch variables during runtime
Code:
- deck 0x00359ab8 {m_cards=[52]({m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hear Deck *
- m_cards [52]({m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},...,...) std::vector<Card,std::allocator<Card> >
+ [0] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [1] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [2] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [3] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [4] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [5] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [6] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [7] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [8] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [9] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [10] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [11] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [12] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [13] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [14] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [15] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [16] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [17] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [18] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [19] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [20] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [21] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [22] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [23] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [24] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [25] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [26] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [27] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [28] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [29] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [30] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [31] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [32] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [33] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [34] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [35] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [36] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [37] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [38] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [39] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [40] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [41] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [42] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [43] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [44] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [45] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [46] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [47] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [48] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [49] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [50] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [51] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
- deck->m_cards [52]({m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},{m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...},...,...) std::vector<Card,std::allocator<Card> >
+ [0] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [1] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [2] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [3] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [4] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [5] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [6] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [7] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [8] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [9] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [10] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [11] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [12] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [13] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [14] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [15] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [16] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [17] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [18] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [19] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [20] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [21] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [22] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [23] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [24] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [25] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [26] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [27] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [28] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [29] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [30] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [31] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [32] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [33] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [34] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [35] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [36] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [37] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [38] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [39] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [40] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [41] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [42] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [43] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [44] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [45] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [46] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [47] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [48] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [49] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [50] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
+ [51] {m_suit=-858993460 m_value=-858993460 suits_lookup=[4]("Clubs","Diamonds","Hearts","Spades") ...} Card
hand_index 0 int
loop 0 int
m_player_hands [0]() std::vector<Hand,std::allocator<Hand> >
number 2 int
- this 0x00359b90 {m_player_id=0 m_cash=100 m_active_hand=0 ...} Player * const
m_player_id 0 int
m_cash 100 int
m_active_hand 0 int
m_bets [0]() std::vector<int,std::allocator<int> >
m_player_hands [0]() std::vector<Hand,std::allocator<Hand> >
Hopefully that information shows up correctly, anyways, I can't see any variables that should cause me to access an out of range element?