Qt读取访问在以下位置发生冲突:0x0,标志=0x0(第一次机会)

Qt read acces violation at:0x0, flags=0x0 (first chance)

本文关键字:0x0 标志 机会 第一次 冲突 访问 读取 位置 Qt      更新时间:2023-10-16

我有一段非常简单的代码,如下所示:

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; 
}

如果vakjes[rij][kolom]NULL,则尝试取消引用该指针->会导致未定义的行为(通常为:崩溃)。

只需将代码更改为:

bool Spelbord::positionIsEmpty(int rij, int kolom) { 
  if (vakjes[rij][kolom] == nullptr) return true;
  if (vakjes[rij][kolom]->geefLetter()==nullptr) return true; 
  return false; 
}