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