警告 C6269
操作の順序が正しくない可能性があります。逆参照は無視されます
この警告は、ポインターの逆参照の結果が無視されることを示します。これにより、最初の場所でポインターが逆参照されている理由が問われることになります。
解説
コンパイラは、余分な逆参照を適切に最適化します。 しかし、場合によっては、この欠陥は優先順位エラーや論理エラーを反映していることがあります。
この欠陥の一般的な原因の 1 つは、次の形式の式ステートメントです。
*p++;
このステートメントの意図が単にポインターp
をインクリメントする場合、逆参照は不要です。ただし、指している場所p
をインクリメントする場合、コンストラクトは代わりに(*p)++
解釈されるためp++
、プログラムは意図した(p++)
とおりに動作しません。
コード分析名: POINTER_DEREF_DISCARDED
例
この警告が発生するコード例を次に示します。
#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 ...
}
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示