如果我想检查 eerste
是否指向我得到的任何内容,我会遇到问题
Blockquote
Unhandled exception at 0x003921c6 in Bank.exe: 0xC0000005: Access violation reading location 0xccccccd0.
我有点想知道为什么他只是跳过 if 语句或者在对象 eerste
指向任何内容时不停止
Bank::Bank()
{
LijstElement *eerste = NULL;
LijstElement *laatste = NULL;
}
Rekening * Bank::getRekening(int rekNr)
{
if(NULL != eerste)
{
LijstElement *nummer = eerste;
while(nummer->volgende!= NULL)
{
Rekening *een = nummer->getRekening();
if(een->getRekNr()==rekNr)
{
return een;
}
else
{
nummer = nummer->volgende;
}
}
}
return NULL;
}
最佳答案
我认为你必须改变
Bank::Bank()
{
eerste = NULL;
laatste = NULL;
}
因为它们可能在您的类中声明为成员变量,而您将它们声明为局部变量。
正如 Fred Larson 所建议的,您还可以使用初始化列表。
Bank::Bank() : eerste(NULL), laatste(NULL)
{
//whatever else you are planning to do in your constructor
}
关于c++ - 如何在 C++ Visual 2010 中检查指针是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469931/