c++ - 如何在 Visual Studio 2019 C++ 中修复未解决的异常
问题描述
我知道我每天都发布了 3 天,但我仍然是这方面的新手,可能需要帮助。我遇到了一个问题,每当我调试某些东西时,我都会遇到未解决的异常。代码真的很长,但我确实有它所属的类。如果有人可以帮助我,我将不胜感激。
这就是问题不断出现的地方:
如果您需要更好的视图,我将添加以下代码:
void Inventory::initialize(const int from)
{
for (size_t i = from; i < cap, i++;)
{
this->itemArr[i] = nullptr;
}
}
问题在于它具有“nullptr”的行
这是它附加到的代码:
class Inventory
{
private:
int cap;
int nrOfItems;
Item **itemArr;
void expand();
void initialize(const int from);
public:
Inventory();
~Inventory();
void addItem(const Item &item);
void removeItem(int index);
inline void debugPrint() const
{
for (size_t i = 0; i < this->nrOfItems; i++)
{
std::cout << this->itemArr[i]->debugPrint() << std::endl;
}
}
};
这是整个 Inventory.cpp 页面:
Inventory::Inventory()
{
this->cap = 10;
this->nrOfItems = 0;
this->itemArr = new Item* [cap];
}
Inventory::~Inventory()
{
for (size_t i = 0; i < this->nrOfItems; i++)
{
delete this->itemArr[i];
}
delete[] itemArr;
}
void Inventory::expand()
{
this->cap *= 2;
Item **tempArr = new Item*[this->cap];
for (size_t i = 0; i < this->nrOfItems, i++;)
{
tempArr[i] = new Item(*this->itemArr[i]);
}
for (size_t i = 0; i < this->nrOfItems, i++;)
{
delete this->itemArr[i];
}
delete[] this->itemArr;
this->itemArr = tempArr;
this->initialize(this->nrOfItems);
}
void Inventory::initialize(const int from)
{
for (size_t i = from; i < cap, i++;)
{
this->itemArr[i] = nullptr;
}
}
void Inventory::addItem(const Item& item)
{
if (this->nrOfItems >= this->cap)
{
expand();
}
this->itemArr[this->nrOfItems++] = new Item(item);
}
void Inventory::removeItem(int index)
{
}
我希望这可以清除其他任何东西。
解决方案
推荐阅读
- python - pytorch 训练循环以“int”结束,对象没有属性“size”异常
- sql - 新 ID 的序列生成
- javascript - 如何从Javascript中的对象数组中获取相同键的数组?
- javascript - React-Native:使用实时数据优化大型列表的更新
- javascript - Angular 类实例在生产构建中提供对象实例
- flutter - Flutter Popup Widget in a Provider - 什么上下文弹出它关闭?
- r - 逐行检查多个列的条件
- ffmpeg - 如果当前帧没有视频,是否可以将几个视频连接在一起,设置它们的时间并显示背景图像?
- python - MNIST 数据集未能转换为张量对象
- css - 如何在 React Native 中创建门动画