次の方法で共有


C6269

警告 C6269: 操作の順序が不適切な可能性があります: 逆参照は無視されます

この警告は、ポインターの逆参照の結果が無視されることを示します。これによって、そもそもなぜポインターが逆参照されるのかという疑問が生じます。

コンパイラは、不要な逆参照も適切に最適化します。 ただし、場合によっては、この問題が優先順位または論理エラーに影響を与える可能性があります。

この問題が発生する一般的な原因の 1 つは、フォームの式ステートメントです。

*p++;

単にポインター p をインクリメントすることがこのステートメントの意図である場合、逆参照は不要ですが、p が指している位置をインクリメントするという意図がある場合、*p++ 構成要素は * (p++) として解釈されるので、プログラムは意図したとおりに動作しません ((*p)++ とは解釈されない)。

使用例

この警告が発生するコード例を次に示します。

#include <windows.h>

void f( int *p )
{
    // code ...
  if( p != NULL )
    *p++;
    // code ...
}

この警告を解決するには、次のコードに示すようにかっこを使用します。

#include <windows.h>

void f( int *p )
{
    // code ...
  if( p != NULL )
    (*p)++;
    // code ...
}