コンパイラの警告 (レベル 4) C4985
'symbol-name': 前の宣言に属性が存在しません。
現在のメソッドの宣言または定義の Microsoft ソース コード注釈言語 (SAL) の注釈が、前の宣言の注釈と異なります。 メソッドの定義と宣言では同じ SAL 注釈を使用する必要があります。
SAL はユーザーが使用できる注釈のセットを提供して、関数が自身のパラメーターをどのように使用するかを記述します。つまり、これらの注釈は、関数がそのパラメーターについて何を前提としているか、関数が終了時に何を保証するかを示します。 注釈は sal.h ヘッダー ファイルで定義されています。
プロジェクトに /analyze
フラグが指定されるまで、SAL マクロは展開されません。 /analyze
を指定しないと警告またはエラーが表示されない場合でも、/analyze
を指定すると、コンパイラは C4985 をスローする可能性があります。
このエラーを解決するには
- メソッドの定義と、そのすべての宣言で、同じ SAL 注釈を使用します。