【发布时间】:2013-08-05 09:55:55
【问题描述】:
我有一段非常简单的代码如下:
Letter* Vakje::geefLetter() const
{
return m_letter;
}
Vakje 类被初始化为 m_letter 的 NULL 指针,但我仍然收到读取访问冲突错误,有人可以帮忙吗?
这是调用函数的代码:
bool Spelbord::positionIsEmpty(int rij, int kolom) {
if (vakjes[rij][kolom]->geefLetter()==nullptr) return true;
else return false;
}
【问题讨论】:
-
您还期待什么?访问
NULL的指针是未定义的行为,这在大多数情况下意味着“程序崩溃”[对于 UB 并非总是如此,但在这种情况下,非常典型]。 -
我看不到支票。我们是否应该猜测您的某些代码在某处进行了空检查?我们还应该猜什么?
-
向我们展示周围的代码。即,什么在调用它,什么在使用结果。
-
请编辑您的问题以包含相关代码。不要将其隐藏在 cmets 中。你确定“表”有非空的 Vakje-s 吗?
-
那么回答这个问题:尺寸是多少?当它崩溃时,它在(索引)上崩溃了什么?可能是 Vakje 是空的吗?你检查了吗?启动调试器并告诉我们。 (OT:我可以建议你开始用英语而不是荷兰语编程。你以后会感谢我的)。