2

どこかからポインターを取得し、返されたポインターが NULL であり、ブロック内のどこで行うことができないかを理解するのに十分なほどスマートなソフトウェアはありますか?

ptr = getSomeDataThatCouldReturnNULLAt(-1);

...

if(ptr)
{
   //code
}

また

if(!ptr)
{
   return;
}

これがチェックされていない可能性のあるすべての場所を知らせるソフトウェアはありますか?

ありがとう

実行時の問題をチェックしています。

4

1 に答える 1

-1

これをコーディングするより良い方法は次のとおりです。

s32 getSomeDataThatCouldReturnNULLAt( s32 intParam, void **inputPointer);

そして、この関数を呼び出したい関数で:

s32 returnValue = 0 ;
void * ptr = NULL ; 

if((returnValue = getSomeDataThatCouldReturnNULLAt( -1, &ptr) ) != ERROR ||
  ptr ==NULL )
   return returnValue;  

returnValueで発生したエラーを示すことができますgetSomeDataThatCouldReturnNULLAt

于 2012-06-26T01:50:07.247 に答える