Здравствуйте, я пытаюсь переместить один элемент из вектора game_cards
в вектор hand
. game_cards
имеет 20 объектов. Но когда я запускаю свой код, я получаю переполнение буфера, хотя я просто перемещаю один элемент. Считаю функцию hand_out_card
правильной. Я что-то упускаю? Заранее спасибо
Gamer.hpp:
std::vector<Cards *> hand;
void hand_out_card(std::vector <Card*> &hand_cards){
Card* c = hand_cards.back();
hand_cards.pop_back();
hand.push_back(c);
}
Main. cpp:
std::vector<Cards *> game_cards; // has 20 card* objects
Player objects;
object.hand_out_card(&game_cards); // here I get a bufferoverflow
Я ожидал, что в руке будет один элемент game_cards
, Почему у меня слишком низкий буфер, хотя я просто перемещаю один элемент?