переполнение буфера при перемещении элемента в пустой вектор - PullRequest
0 голосов
/ 06 мая 2020

Здравствуйте, я пытаюсь переместить один элемент из вектора 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, Почему у меня слишком низкий буфер, хотя я просто перемещаю один элемент?

...