我正在尝试将对象添加到c ++中的向量中。但是,每次我尝试添加它时,它很快就会被销毁。我感觉是因为对象超出范围-我将如何永久添加对象?
我最初使用push_back函数,但后来也尝试使用emplace_back。
这是我的载体
std::vector<RawBonus> rawBonuses;
这是addRawBonus函数。在此功能末尾检查尺寸会打印出正确的值。
void Attribute::addRawBonus(int baseValue, int baseMultiplier)
{
this->rawBonuses.emplace_back(baseValue, baseMultiplier);
cout << rawBonuses.size() << endl; // this prints 1
}
这是单击按钮时调用的函数。它旨在向RawBonuses向量添加“原始奖励”对象。但是,在检查尺寸时,它会显示0。
void Dialog::onApplyButtonClicked()
{
this->stickman.getDexterity().addRawBonus(extraDexterityCount, 0);
cout << stickman.getDexterity().getRawBonuses().size() << endl; // this prints 0
}