在C ++中显式地解引用指针

时间:2013-09-20 21:43:35

标签: visual-c++ klocwork

我实际上正在对我的应用程序进行一些更改,而klocwork一直抱怨我一个问题:

我有一个结构,比如说

Struct A
{
  long x;
  bool b;
}

我有一个指针,它被赋予另一个函数的返回值:

A* z= (A*) function.get();

if(!z->x)
{
  z->x= somevalue;
}

klocwork始终指向if(!z->x),表示z被明确解除引用。

虽然我的应用程序现在运行正常,但它将来会以一种激烈的方式影响我的应用程序吗?

1 个答案:

答案 0 :(得分:1)

在引用z并检查z-> x之前,您需要先检查z是否为非空。

 if(z && !z->k)
     ...