Compartilhar via


C6509

Aviso C6509: anotação inválido: 'return' não pode ser referenciada de uma pré-condição

Este aviso indica que o return a demonstrativo [expressão] não pode ser usada em uma pré-condição. The return demonstrativo é usada para terminar a execução de uma função e retornar controle para a função de chamada. O valor da expressão, se estiver presente, a expressão é retornado para a função de chamada.

sistema autônomo uma função pode usar o return demonstrativo para retornar valores, você pode especificá-lo sistema autônomo um valor da propriedade para uso em uma condição de POST.

Exemplo

O código a seguir gera este aviso porque 'return' é usado em uma pré-condição:

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

Para corrigir esse aviso, use o 'return' em uma condição de POST, sistema autônomo mostrado no código de exemplo a seguir:

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