共用方式為


C6509

警告 C6509: 無效的附註: 'return' 無法從先前的條件參考

這項警告表示 return [expression] 陳述式 (Statement) 不能用於 Pre 條件中。 return 陳述式會用於結束函式的執行,並且將控制權還給呼叫函式。 如果運算式出現的話,運算式的值會傳回至呼叫函式。

因為函式可能會使用 return 陳述式傳回值,因此您可以將函式指定為屬性值,以便用於 Post 條件中。

範例

因為 'return' 會用於 Pre 條件中,所以下列程式碼會產生這項警告:

// 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);

若要更正這項警告,請在 Post 條件中使用 '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
                    );