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