Partilhar via


Avisos do compilador Microsoft C/C++ C5200 a C5399

Os artigos desta seção descrevem as mensagens de aviso do compilador do Microsoft C/C++ de C5200 a C5399.

Importante

Os compiladores e ferramentas de build do Visual Studio podem relatar muitos tipos de erros e avisos. Depois que um erro ou aviso for encontrado, as ferramentas de build poderão fazer suposições sobre a intenção do código e tentar continuar, para que mais problemas possam ser relatados ao mesmo tempo. Se as ferramentas fizerem a suposição errada, erros ou avisos posteriores poderão não se aplicar ao seu projeto. Quando você corrige problemas em seu projeto, sempre comece com o primeiro erro ou aviso relatado e recompile com frequência. Uma correção pode fazer com que muitos erros subsequentes desapareçam.

Para obter ajuda em uma mensagem de diagnóstico específica no Visual Studio, selecione-a na janela Saída e pressione a tecla F1. O Visual Studio abre a página de documentação desse erro, se houver uma. Você também pode usar a ferramenta de pesquisa na parte superior da página para encontrar artigos sobre erros ou avisos específicos. Ou navegue pela lista de erros e avisos por ferramenta e digite no sumário nesta página.

Observação

Nem todos os erros ou avisos do Visual Studio estão documentados. Em muitos casos, a mensagem de diagnóstico fornece todas as informações que estão disponíveis. Se você chegou a esta página ao usar F1 e acha que a mensagem de erro ou aviso precisa de explicações adicionais, informe-nos. Você pode usar os botões de comentários nesta página para registrar um problema de documentação no GitHub. Se você achar que o erro ou o aviso está errado ou encontrou outro problema com o conjunto de ferramentas, relate um problema de produto no site da Developer Community. Você também pode enviar comentários e inserir bugs no IDE. No Visual Studio, vá para a barra de menus e escolha Ajuda > Enviar Comentários > Relatar um Problema ou envie uma sugestão usando Ajuda > Enviar Comentários > Enviar uma Sugestão. Foram criados alguns tópicos de erro do compilador que não são emitidos pelo compilador e agora redirecionam para essa página.

Você pode encontrar assistência adicional para erros e avisos nos fóruns Perguntas e respostas do Microsoft Learn. Alternativamente, pesquise o número do erro ou aviso no site da Developer Community do Visual Studio C++. Você também pode pesquisar o Stack Overflow para encontrar soluções.

Para obter links para ajuda adicional e recursos da comunidade, confira Ajuda e Comunidade do Visual C++.

Mensagens de aviso

Aviso Mensagem
Aviso do compilador (nível 1) C5200 recurso 'feature-name' requer o sinalizador do compilador 'option-name'
Aviso do compilador (nível 1) C5201 uma declaração de módulo pode aparecer somente no início de uma unidade de tradução, a menos que um fragmento de módulo global seja usado
Aviso do compilador (nível 1) C5202 um fragmento de módulo global pode conter somente diretivas de pré-processador
Aviso do compilador (nível 1) C5203 um nome declarador entre parênteses após 'explicit' será considerado um especificador explícito no C++20
Aviso do compilador (nível 3, desativado) C5204 'type-name': a classe tem funções virtuais, mas o destruidor trivial não é virtual; instâncias de objetos derivados dessa classe podem não ser destruídas corretamente
Aviso do compilador (nível 4) C5205 a exclusão de uma classe abstrata 'type-name' que tem um destruidor não virtual resulta em comportamento indefinido
Aviso do compilador (nível 3) C5206 os tipos de retorno deduzidos para corrotinas são uma extensão não padrão
Aviso do compilador (nível 1) C5207 o requisito simples declara a validade da expressão 'e->id'. Você quis dizer '{ e } -> id'? Você pode suprimir o aviso usando '{ e->id }'
Aviso do compilador (nível 1) C5208 a classe sem nome usada no nome de typedef não pode declarar membros que não sejam classes de membro, enumerações de membro ou membros de dados não estáticos
Aviso do compilador (nível 1) C5209 A sintaxe do C++20 para uma captura de inicialização foi alterada para '& ...opt identifier initializer'
Aviso do compilador (nível 1) C5210 'name' não é uma referência de unidade de cabeçalho válida e será ignorada
Aviso do compilador (nível 1) C5212 'name' não é uma referência nomeada válida e será tratada como referência para o arquivo
Aviso do compilador (nível 1) C5213 A referência nomeada 'name' é tratada como uma partição nomeada, mas o nome não foi especificado e será tratada como referência para o arquivo
Aviso do compilador (nível 4, desativado) C5214 a aplicação de 'modifier' a um operando com um tipo qualificado volátil foi preterido em C++20
Aviso do compilador (nível 4, desativado) C5215 'name' um parâmetro de função com um tipo qualificado volátil, foi preterido em C++20
Aviso do compilador (nível 4, desativado) C5216 'name', um tipo de retorno qualificado volátil, foi preterido no C++20
Aviso do compilador (nível 4, desativado) C5217 uma declaração de associação estruturada que inclui volátil foi preterida em C++20
Aviso do compilador (nível 1) C5218 a destruição de delete pode não se comportar conforme o previsto quando os switches sem conformidade '/Zc:sizedDealloc-' ou '/Zc:alignedNew-' são usados
Aviso do compilador (nível 2, desativado) C5219 conversão implícita de 'type-1' para 'type-2'. Possível perda de dados
Aviso do compilador (nível 4, desativado) C5220 'name': um membro de dados não estático com um tipo qualificado como volátil não implica mais que o compilador gerou construtores de cópia/movimentação e que os operadores de atribuição de cópia/movimentação não são triviais
Aviso do compilador (nível 1) C5221 xfg::rename foi preterido.
Aviso do compilador (nível 3) C5222 'attribute-name': todos os nomes de atributo sem escopo estão reservados para padronização futura
Aviso do compilador (nível 3) C5223 todos os nomes de atributo no namespace do atributo 'msvc' são reservados para a implementação
Aviso do compilador (nível 3) C5224 todos os nomes de atributo no namespace do atributo 'namespace-name' são reservados para padronização futura
Aviso do compilador (nível 1) C5225 'symbol': a função embutida exportada definida em um fragmento do módulo privado é uma extensão não padrão
Aviso do compilador (nível 1) C5226 'symbol': o modelo exportado definido no fragmento do módulo privado não tem nenhuma instanciação acessível
Aviso do compilador (nível 4) C5227 extensão não padrão, 'symbol' foi resolvido para 'value', que não fica visível com /permissive- ativado.
Aviso do compilador (nível 4) C5228 extensão não padrão, 'identifier' foi resolvido para um membro de uma base dependente. Essa pesquisa não é permitida em /permissive-.
Aviso do compilador (nível 4) C5229 extensão não padrão. A função friend oculta 'function-name' foi encontrada pela pesquisa de nome, o que não é permitido em /permissive-.
Aviso do compilador C5230 extensão não padrão, 'identifier' foi resolvido como 'symbol-1' em /permissive. Sob /permissive-, ele resolveria 'symbol-2'.
Aviso do compilador (nível 3) C5231 a expressão 'co_await promise.final_suspend()' não pode ser de lançamento
Aviso do compilador (nível 1) C5232 no C++20, essa comparação chama 'name' recursivamente
Aviso do compilador (nível 4, desativado) C5233 a captura de lambda explícita 'identifier' não é usada
Aviso do compilador (nível 1) C5234 erro do sistema de arquivos: 'filename' não é um nome de cabeçalho válido. Ignorando
Aviso do compilador (nível 1) C5235 Erro de análise de JSON: message; ignorando 'filename'
Aviso do compilador (nível 1) C5236 JSON malformado: message; ignorando 'filename'
Aviso do compilador (nível 1) C5237 não é possível resolver a entrada da unidade de cabeçalho 'name' para um arquivo de cabeçalho em 'filename'; ignorando a entrada
Aviso do compilador (nível 1) C5238 erro do sistema de arquivos: não é possível abrir 'filename' para leitura; ignorando
Aviso do compilador (nível 4) C5239 'symbol': função potencialmente perigosa chamada a partir de uma função declarada __declspec(nothrow). O comportamento indefinido poderá ocorrer se for lançada uma exceção.
Aviso do compilador (nível 4) C5240 'attribute-name': o atributo foi ignorado nesta posição sintática
Aviso do compilador (nível 1) C5241 o uso de '/exportHeader' como o nome do cabeçalho de pesquisa foi preterido; prefira '/headerName:name value=filename'
Aviso do compilador (nível 1) C5242 erro de sintaxe no pragma 'identifier'
Aviso do compilador (nível 1, desativado) C5243 'type-name': usar uma classe 'class-name' incompleta pode causar uma possível violação da regra de definição devido à limitação de ABI
Aviso do compilador (nível 1) C5244 '#include <filename>' no âmbito do módulo 'module-name-1' parece errôneo. Considere mover essa diretiva antes da declaração do módulo ou substitua a inclusão textual por 'import <module-name-2>;'.
Aviso do compilador (nível 4, desativado) C5245 'function': a função não referenciada com vinculação interna foi removida
Aviso do compilador (nível 1, desativado) C5246 'member': a inicialização de um subobjeto deve ser colocada entre chaves
Aviso do compilador (nível 1, desativado) C5247 A seção 'section-name' é reservada para inicialização dinâmica C++. A criação manual da seção interferirá na inicialização dinâmica do C++ e pode levar a um comportamento indefinido
Aviso do compilador (nível 1, desativado) C5248 A seção 'section-name' é reservada para inicialização dinâmica C++. As variáveis colocadas manualmente na seção podem ser otimizadas e sua ordem em relação aos inicializadores dinâmicos gerados pelo compilador não é especificada.
Aviso do compilador (nível 1, desativado) C5249 'bitfield' do tipo 'enumeration_name' nomeou enumeradores com valores que não podem ser representados na largura de campo de bit fornecida de 'bitfield_width'.
Aviso do compilador (nível 3, desativado) C5250 'function_name': função intrínseca não declarada.
Aviso do compilador (nível 4, desativado) C5251 nome-do-segmento alterado após incluir cabeçalho
Aviso do compilador (nível 4) C5252 Vários tipos diferentes resultaram no mesmo hash de tipo XFG valor-do-hash; o PDB só registrará informações para um deles
Aviso do compilador (nível 4) C5253 um lambda não local não pode ter um padrão de captura
Aviso do compilador (nível 4, desativado) C5254 o recurso de linguagem 'terse static assert' requer o sinalizador do compilador '/std:c++17'
Aviso do compilador (nível 3) C5255 caractere bidirecional não terminado encontrado: 'U+XXXX'
Aviso do compilador (nível 1, desativado) C5256 'enumeração':uma declaração não definidora de uma enumeração com um tipo subjacente fixo só é permitida como uma declaração autônoma
Aviso do compilador (nível 1 ou 4) C5257 'enumeração': enumeração foi declarada anteriormente sem um tipo subjacente fixo
Aviso do compilador (nível 4, desativado) C5258 A captura explícita de 'símbolo' não é necessária para esse uso
Aviso do compilador (nível 4, desativado) C5259 'specialized-type': especialização explícita requer 'modelo <>'
Aviso do compilador (nível 1) C5260 A variável constante 'variable-name' tem um vínculo interno em um contexto de arquivo de cabeçalho incluído, mas um vínculo externo no contexto de unidade de cabeçalho importado; considere declará-lo 'embutido' também se ele for compartilhado entre unidades de tradução, ou 'estático' para expressar a intenção de usá-lo localmente nesta unidade de tradução
Aviso do compilador (nível 2) C5261 nenhum tipo inteiro pode representar todos os valores de enumerador na enumeração 'nome_da_enumeração'
Aviso do compilador (nível 1, erro, desligado) C5262 Aqui ocorre uma queda implícita; você está perdendo uma instrução de interrupção? Use [[fallthrough]] quando uma instrução break for intencionalmente omitida entre os casos
Aviso do compilador (nível 4, desativado) C5263 Chamar 'std::move' em um objeto temporário impede a elisão de cópia
Aviso do compilador (nível 4, desativado) C5264 'variable-name': a variável 'const' não é usada
Aviso do compilador (nível 1) C5265 não é possível abrir o caminho 'caminho' da pesquisa
Aviso do compilador (nível 4, desativado) C5266 O qualificador 'const' no tipo de retorno não tem efeito
Aviso do compilador C5267 a definição implícita do construtor de cópia/operador de atribuição para 'tipo' foi preterida porque ele possui um operador de atribuição/construtor de cópia fornecido pelo usuário.
Aviso do compilador (nível 1) C5268 Falha ao alocar a memória no endereço fixo 0xendereço. Use /Yb para especificar uma base de endereços específica se forem necessários arquivos .pch idênticos em bits.
Aviso do compilador (nível 1) C5269 Falha ao alocar a memória PCH no endereço fixo 0xendereço. Use /Ym para especificar uma base de endereços específica se forem necessários arquivos .pch idênticos em bits.
Aviso do compilador (nível 3) C5270 'valor' não é permitido para a opção 'nome do parâmetro'; os valores permitidos são: lista de valores
Aviso do compilador (nível 4) C5271 O assembly importado anteriormente 'assembly1' tem o mesmo nome do assembly 'assembly2' que está sendo importado. Isso é intencional?
Aviso do compilador (nível 1) C5272 gerar um objeto de tipo não copiável 'tipo' não é o padrão. Se uma cópia for necessária no runtime, ela será feita como se fosse por memcpy.
Aviso do compilador (nível 1) C5273 alteração de comportamento: _Alignas não é mais ignorado no tipo anônimo (os membros promovidos serão alinhados)
Aviso do compilador (nível 1) C5274 alteração de comportamento: _Alignas não se aplica mais ao tipo 'tipo' (aplica-se apenas a objetos de dados declarados)
Aviso do compilador (erro) C5275 Assembly de fachada 'nome' está sendo importado em '/clr'; opção '/clr:netcore' ausente?
Aviso do compilador (nível 1, erro) C5300 '#pragma omp atomic': o operando esquerdo de operador deve corresponder ao lado esquerdo da expressão de atribuição
Aviso do compilador (nível 1) C5301 '#pragma omp for': 'índice-do-loop' aumenta enquanto a condição do loop usa 'comparação'; loop não terminal?
Aviso do compilador (nível 1) C5302 '#pragma omp for': 'índice-do-loop' diminui enquanto a condição do loop usa 'comparação'; loop não terminal?
Aviso do compilador (nível 1) C5303 A função marcada com [[msvc::intrinsic]] não resultou em uma conversão sem operações.
Aviso do compilador (nível 1) C5304 Uma declaração designada pela declaração de uso 'nome1' exportada deste módulo tem vinculação interna e o uso desse nome fora do módulo é mal-formado; considere declarar 'nome2' 'inline' para usá-lo fora deste módulo
Aviso do compilador (nível 1) C5305 'nome': uma declaração de instanciação explícita que segue uma definição de instanciação explícita é ignorada

Confira também

Compilador C/C++ e erros e avisos de ferramentas de compilação
Avisos do Compilador C4000 - C5999