次の方法で共有


C6509

警告 C6509: 無効な注釈です: 'return' を前提条件から参照することはできません

この警告は、実行前の状態では return [expression] ステートメントを使用できないことを示します。 return ステートメントは、関数の実行を終了し、コントロールを呼び出し元の関数に戻すために使用されます。 式が存在する場合、式の値が呼び出し元の関数に返されます。

関数では return ステートメントを使用して値を返す場合があるため、これをプロパティ値として指定し、実行後の状態で使用できます。

使用例

次に示すコードでは、実行前の状態で "return" が使用されているため、この警告が生成されます。

// C
#include <CodeAnalysis\SourceAnnotations.h>
int f([SA_Pre(ValidElements="return")] char *pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
int f([Pre(ValidElements="return")] char *pc);

この警告を解決するには、次のコードに示すように "return" を実行後の状態で使用します。

// C
#include <CodeAnalysis\SourceAnnotations.h>
[returnvalue:SA_Post(MustCheck=SA_Yes)]int f(
                   [SA_Post(ValidElements="return")] char *pc
                    );
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

[returnvalue:Post(MustCheck=Yes)]int f(
                   [Post(ValidElements="return")] char *pc
                    );