Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção lista os avisos do Verificador de Diretrizes Principais do C++. Para obter informações sobre Análise de Código, consulte /analyze (Análise de Código) e Início Rápido: Análise de Código para C/C++.
Observação
Alguns avisos pertencem a mais de um grupo e nem todos os avisos têm um tópico de referência completo.
Grupo OWNER_POINTER
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Retorne um objeto com escopo em vez de um heap-allocated se ele tiver um construtor move. Consulte C++ Core Guidelines R.3.
C26403 RESET_OR_DELETE_OWNER
Redefina ou exclua explicitamente um ponteiro T> do proprietário<'variável'. Consulte C++ Core Guidelines R.3.
C26404 DONT_DELETE_INVALID
Não exclua um proprietário<T> que possa estar em estado inválido. Consulte C++ Core Guidelines R.3.
C26405 DONT_ASSIGN_TO_VALID
Não atribua a um proprietário<T> que possa estar em estado válido. Consulte C++ Core Guidelines R.3.
C26406 DONT_ASSIGN_RAW_TO_OWNER
Não atribua um ponteiro bruto a um proprietário<T>. Consulte C++ Core Guidelines R.3.
C26407 DONT_HEAP_ALLOCATE_UNNECESSARILY
Prefira objetos com escopo, não aloque heap-allocate desnecessariamente. Consulte C++ Core Guidelines R.5.
C26429 USE_NOTNULL
O símbolo 'símbolo' nunca é testado quanto à nulidade, pode ser marcado como not_null. Consulte C++ Core Guidelines F.23.
C26430 TEST_ON_ALL_PATHS
O símbolo 'símbolo' não é testado quanto à nulidade em todos os caminhos. Consulte C++ Core Guidelines F.23.
C26431 DONT_TEST_NOTNULL
O tipo de expressão 'expr' já é gsl::not_null. Não teste a nulidade. Consulte C++ Core Guidelines F.23.
Grupo RAW_POINTER
C26400 NO_RAW_POINTER_ASSIGNMENT
Não atribua o resultado de uma alocação ou uma chamada de função com um valor de retorno T> de proprietário<a um ponteiro bruto, use o proprietário<T>. Consulte C++ Core Guidelines I.11.
C26401 DONT_DELETE_NON_OWNER
Não exclua um ponteiro bruto que não seja um proprietário<T>. Consulte C++ Core Guidelines I.11.
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Retorne um objeto com escopo em vez de um heap-allocated se ele tiver um construtor move. Consulte C++ Core Guidelines R.3.
C26408 NO_MALLOC_FREE
Evite malloc() e free(), prefira a versão nothrow do novo com exclusão. Consulte C++ Core Guidelines R.10.
C26409 NO_NEW_DELETE
Evite chamar novo e excluir explicitamente, use std::make_unique<T> em vez disso. Consulte C++ Core Guidelines R.11.
C26429 USE_NOTNULL
O símbolo 'símbolo' nunca é testado quanto à nulidade, pode ser marcado como not_null. Consulte C++ Core Guidelines F.23.
C26430 TEST_ON_ALL_PATHS
O símbolo 'símbolo' não é testado quanto à nulidade em todos os caminhos. Consulte C++ Core Guidelines F.23.
C26431 DONT_TEST_NOTNULL
O tipo de expressão 'expr' já é gsl::not_null. Não teste a nulidade. Consulte C++ Core Guidelines F.23.
C26481 NO_POINTER_ARITHMETIC
Não use aritmética de ponteiro. Use span em vez disso. Consulte C++ Core Guidelines Bounds.1.
C26485 NO_ARRAY_TO_POINTER_DECAY
Expressão 'expr': Nenhuma matriz para decaimento de ponteiro. Consulte C++ Core Guidelines Bounds.3.
Grupo UNIQUE_POINTER
C26410 NO_REF_TO_CONST_UNIQUE_PTR
O parâmetro 'parâmetro' é uma referência ao const ponteiro exclusivo, use const T* ou const T& em vez disso. Consulte C++ Core Guidelines R.32.
C26411 NO_REF_TO_UNIQUE_PTR
O parâmetro 'parâmetro' é uma referência ao ponteiro exclusivo e nunca é reatribuído ou redefinido, use T* ou T& em vez disso. Consulte C++ Core Guidelines R.33.
C26414 RESET_LOCAL_SMART_PTR
Mova, copie, reatribua ou redefina um "símbolo" de ponteiro inteligente local. Consulte C++ Core Guidelines R.5.
C26415 SMART_PTR_NOT_NEEDED
O parâmetro de ponteiro inteligente 'symbol' é usado apenas para acessar o ponteiro contido. Em vez disso, use T* ou T& em vez disso. Consulte C++ Core Guidelines R.30.
Grupo SHARED_POINTER
C26414 RESET_LOCAL_SMART_PTR
Mova, copie, reatribua ou redefina um "símbolo" de ponteiro inteligente local. Consulte C++ Core Guidelines R.5.
C26415 SMART_PTR_NOT_NEEDED
O parâmetro de ponteiro inteligente 'symbol' é usado apenas para acessar o ponteiro contido. Em vez disso, use T* ou T& em vez disso. Consulte C++ Core Guidelines R.30.
C26416 NO_RVALUE_REF_SHARED_PTR
O parâmetro de ponteiro compartilhado 'symbol' é passado pela referência rvalue. Em vez disso, passe pelo valor. Consulte C++ Core Guidelines R.34.
C26417 NO_LVALUE_REF_SHARED_PTR
O parâmetro de ponteiro compartilhado 'symbol' é passado por referência e não redefinido ou reatribuído. Em vez disso, use T* ou T& em vez disso. Consulte C++ Core Guidelines R.35.
C26418 NO_VALUE_OR_CONST_REF_SHARED_PTR
O parâmetro de ponteiro compartilhado 'symbol' não é copiado ou movido. Em vez disso, use T* ou T& em vez disso. Consulte C++ Core Guidelines R.36.
Grupo DECLARAÇÃO
C26426 NO_GLOBAL_INIT_CALLS
O inicializador global chama uma função não-constexpr de 'símbolo'. Ver C++ Core Guidelines I.22.
C26427 NO_GLOBAL_INIT_EXTERNS
O inicializador global acessa o objeto externo 'symbol'. Ver C++ Core Guidelines I.22.
C26444 NO_UNNAMED_RAII_OBJECTS
Evite objetos sem nome com construção personalizada e destruição. Consulte ES.84: Não (tente) declarar uma variável local sem nome.
Grupo CLASS
C26432 DEFINE_OR_DELETE_SPECIAL_OPS
Se você definir ou excluir qualquer operação padrão no tipo 'símbolo', defina ou exclua todas. Consulte C++ Core Guidelines C.21.
C26433 OVERRIDE_EXPLICITLY
A função «símbolo» deve ser marcada com «substituição». Ver C.128: As funções virtuais devem especificar exatamente uma das funções virtual, de substituição ou final.
C26434 DONT_HIDE_METHODS
A função 'symbol_1' oculta uma função não virtual 'symbol_2'. Consulte C++ Core Guidelines C.128.
C26435 SINGLE_VIRTUAL_SPECIFICATION
A função 'símbolo' deve especificar exatamente uma de 'virtual', 'substituir' ou 'final'. Ver C.128: As funções virtuais devem especificar exatamente uma das funções virtual, de substituição ou final.
C26436 NEED_VIRTUAL_DTOR
O tipo 'símbolo' com uma função virtual precisa de um destruidor virtual público ou não virtual protegido. Consulte C++ Core Guidelines C.35.
C26443 NO_EXPLICIT_DTOR_OVERRIDE
O destruidor de substituição não deve usar especificadores explícitos de "substituição" ou "virtual". Ver C.128: As funções virtuais devem especificar exatamente uma das funções virtual, de substituição ou final.
Grupo STYLE
C26438 NO_GOTO
Evite goto. Consulte as diretrizes principais do C++ ES.76.
Grupo FUNCTION
C26439 SPECIAL_NOEXCEPT
Este tipo de função pode não lançar. Declare-o noexcept. Consulte C++ Core Guidelines F.6.
C26440 DECLARE_NOEXCEPT
A função «símbolo» pode ser declarada noexcept. Consulte C++ Core Guidelines F.6.
C26447 DONT_THROW_IN_NOEXCEPT
A função é declarada noexcept , mas chama uma função que pode gerar exceções.
Consulte C++ Core Guidelines: F.6: Se sua função não pode ser lançada, declare-a não, exceto.
Grupo SIMULTANEIDADE
C26441 NO_UNNAMED_GUARDS
Os objetos de proteção devem ser nomeados. Consulte C++ Core Guidelines cp.44.
Grupo CONST
C26460 USE_CONST_REFERENCE_ARGUMENTS
O argumento de referência «argumento» para a função «função» pode ser marcado como const. Consulte C++ Core Guidelines con.3.
C26461 USE_CONST_POINTER_ARGUMENTS:
O argumento de ponteiro 'argumento' para a função 'função' pode ser marcado como um ponteiro para const. Consulte C++ Core Guidelines con.3.
C26462 USE_CONST_POINTER_FOR_VARIABLE
O valor apontado por 'variável' é atribuído apenas uma vez, marque-o como um ponteiro para const. Consulte C++ Core Guidelines con.4.
C26463 USE_CONST_FOR_ELEMENTS
Os elementos da matriz 'matriz' são atribuídos apenas uma vez, marcar elementos const. Consulte C++ Core Guidelines con.4.
C26464 USE_CONST_POINTER_FOR_ELEMENTS
Os valores apontados pelos elementos da matriz 'matriz' são atribuídos apenas uma vez, marcar elementos como ponteiro para const. Consulte C++ Core Guidelines con.4.
C26496 USE_CONST_FOR_VARIABLE
A variável 'variável' é atribuída apenas uma vez, marque-a como const. Consulte C++ Core Guidelines con.4.
C26497 USE_CONSTEXPR_FOR_FUNCTION
Esta função pode ser marcada constexpr se a avaliação em tempo de compilação for desejada. Consulte C++ Core Guidelines F.4.
C26498 USE_CONSTEXPR_FOR_FUNCTIONCALL
Esta função de chamada de função pode usar constexpr se a avaliação em tempo de compilação for desejada. Consulte C++ Core Guidelines con.5.
Grupo TYPE
C26437 DONT_SLICE
Não fatiar. Consulte C++ Core Guidelines ES.63.
C26465 NO_CONST_CAST_UNNECESSARY
Não use const_cast para descartar const.
const_cast não é obrigatório; constância ou volatilidade não está sendo removida por esta conversão. Consulte C++ Core Guidelines Type.3.
C26466 NO_STATIC_DOWNCAST_POLYMORPHIC
Não use static_cast abatidos. Um molde de um tipo polimórfico deve usar dynamic_cast. Consulte C++ Core Guidelines Type.2.
C26471 NO_REINTERPRET_CAST_FROM_VOID_PTR
Não use reinterpret_cast. Um molde do vazio* pode usar static_cast. Consulte C++ Core Guidelines Type.1.
C26472 NO_CASTS_FOR_ARITHMETIC_CONVERSION
Não use um static_cast para conversões aritméticas. Use a inicialização da chave, gsl::narrow_cast ou gsl::narrow. Consulte C++ Core Guidelines Type.1.
C26473 NO_IDENTITY_CAST
Não transmita entre tipos de ponteiro em que o tipo de origem e o tipo de destino são os mesmos. Consulte C++ Core Guidelines Type.1.
C26474 NO_IMPLICIT_CAST
Não lance entre tipos de ponteiro quando a conversão puder estar implícita. Consulte C++ Core Guidelines Type.1.
C26475 NO_FUNCTION_STYLE_CASTS
Não use C-casts de estilo de função. Consulte C++ Core Guidelines ES.49.
C26490 NO_REINTERPRET_CAST
Não use reinterpret_cast. Consulte C++ Core Guidelines Type.1.
C26491 NO_STATIC_DOWNCAST
Não use static_cast abatidos. Consulte C++ Core Guidelines Type.2.
C26492 NO_CONST_CAST
Não use const_cast para descartar const. Consulte C++ Core Guidelines Type.3.
C26493 NO_CSTYLE_CAST
Não use moldes estilo C. Consulte C++ Core Guidelines Type.4.
C26494 VAR_USE_BEFORE_INIT
A variável 'variável' não foi inicializada. Sempre inicialize um objeto. Consulte C++ Core Guidelines Type.5.
C26495 MEMBER_UNINIT
A variável 'variável' não foi inicializada. Sempre inicialize uma variável de membro. Consulte C++ Core Guidelines Type.6.
Grupo BOUNDS
C26446 USE_GSL_AT
Prefira usar gsl::at() em vez de operador subscrito não verificado. Consulte C++ Core Guidelines: Bounds.4: Não use funções de biblioteca padrão e tipos que não são limitados verificados.
C26481 NO_POINTER_ARITHMETIC
Não use aritmética de ponteiro. Use span em vez disso. Consulte C++ Core Guidelines Bounds.1
C26482 NO_DYNAMIC_ARRAY_INDEXING
Indexe somente em matrizes usando expressões constantes. Consulte C++ Core Guidelines Bounds.2
C26483 STATIC_INDEX_OUT_OF_RANGE
O valor está fora dos limites (0, bound) da variável 'variable'. Indexe somente matrizes usando expressões constantes que estejam dentro dos limites da matriz. Consulte C++ Core Guidelines Bounds.2
C26485 NO_ARRAY_TO_POINTER_DECAY
Expressão 'expr': Nenhuma matriz para decaimento de ponteiro. Consulte C++ Core Guidelines Bounds.3
Grupo GSL
C26445 NO_SPAN_REF
Uma referência a gsl::span ou std::string_view pode ser uma indicação de um problema vitalício.
Consulte C++ Core Guidelines GSL.view: Views
C26446 USE_GSL_AT
Prefira usar gsl::at() em vez de operador subscrito não verificado. Consulte C++ Core Guidelines: Bounds.4: Não use funções de biblioteca padrão e tipos que não são limitados verificados.
C26448 USE_GSL_FINALLY
Considere usar gsl::finally se a ação final for pretendida. Consulte C++ Core Guidelines: GSL.util: Utilities.
C26449 NO_SPAN_FROM_TEMPORARY
gsl::span ou std::string_view criado a partir de um temporário será inválido quando o temporário for invalidado. Consulte Diretrizes principais do C++: GSL.view: Views.
Avisos preteridos
Os avisos a seguir estão presentes em um conjunto de regras experimentais iniciais do verificador de diretrizes principais, mas agora foram preteridos e podem ser ignorados com segurança. Os avisos são substituídos pelos avisos da lista acima.
- 26412 DEREF_INVALID_POINTER
- 26413 DEREF_NULLPTR
- 26420 ASSIGN_NONOWNER_TO_EXPLICIT_OWNER
- 26421 ASSIGN_VALID_OWNER
- 26422 VALID_OWNER_LEAVING_SCOPE
- 26423 ALLOCATION_NOT_ASSIGNED_TO_OWNER
- 26424 VALID_ALLOCATION_LEAVING_SCOPE
- 26425 ASSIGNING_TO_STATIC
- 26499 NO_LIFETIME_TRACKING