c++ - 将元素移动到空向量时缓冲区溢出
问题描述
您好,我正在尝试将一个元素从game_cards
向量移动到hand
向量。
game_cards
有 20 个对象。但是当我运行我的代码时,即使我只是移动一个元素,我也会得到一个缓冲区溢出。我认为功能hand_out_card
是正确的。我错过了什么吗?先感谢您
玩家.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);
}
主要.cpp:
std::vector<Cards *> game_cards; // has 20 card* objects
Player objects;
object.hand_out_card(&game_cards); // here I get a bufferoverflow
我希望 hand 有一个元素game_cards
,为什么即使我只是移动一个元素,我也会得到一个 bufferoverlow ?
解决方案
推荐阅读
- angular - 延迟加载角度模块在队列中停留了一段时间
- sql - 最小和无限制计数
- r - R 中的 GameTheoryAllocation 库 - 计算转化值时的负值(使用 R 进行营销归因)
- c# - 如何避免通过更新保存重复值
- r - 如何从调用对象中获取函数对象
- amazon-web-services - aws terraform 错误 CannotPullContainerError:来自守护程序的错误响应 - 但图像 url 有效
- python - 带有随机生成数字的推文
- amazon-web-services - 无法在 aws linux ami 上下载代码部署代理
- reactjs - material-ui reactjs中的嵌套抽屉
- deep-learning - 分类图像的准确性没有增加