Partilhar via


Avisos do compilador Microsoft C/C++ C4600 a C4799

Os artigos nessa seção descrevem mensagens de aviso do compilador Microsoft C/C++ C4600 a C4799.

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 esta 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) C4600 #pragma 'macro name': uma cadeia de caracteres não vazia válida era esperada
Aviso do compilador (nível 1) C4602 #pragma pop_macro: 'macro name' nenhum #pragma push_macro anterior para este identificador
Aviso do compilador (nível 1) C4603 'identifier': a macro não está definida ou a definição é diferente após o uso do cabeçalho pré-compilado
Aviso do compilador (nível 1) C4604 'type': passar um argumento por valor entre os limites nativos e de gerenciamento exige um construtor de cópia válido. Caso contrário, o comportamento de runtime será indefinido
Aviso do compilador (nível 1) C4605 '/Dmacro' especificado na linha de comando atual, porém não foi especificado quando o cabeçalho pré-compilado foi criado
Aviso do compilador (nível 1) C4606 #pragma warning: 'warning number' ignorado; Os avisos do Code Analysis não estão associados aos níveis de aviso
Aviso do compilador (nível 3) C4608 'union_member' já foi inicializado por outro membro de união na lista de inicializadores, 'union_member'
Aviso do compilador (nível 3, erro) C4609 'type1' deriva da interface padrão 'interface' no tipo 'type2'. Use uma interface padrão diferente para 'type1' ou quebre a relação base/derivada.
Aviso do compilador (nível 4) C4610 o objeto 'class' nunca pode ser instanciado – construtor definido pelo usuário necessário
Aviso do compilador (nível 4) C4611 a interação entre 'function' e a destruição de objeto C++ é não portátil
Aviso do compilador (nível 1) C4612 erro ao incluir nome do arquivo
Aviso do compilador (nível 1) C4613 symbol”: não é possível alterar a classe de segmento
Aviso do compilador (nível 1) C4615 #pragma warning: tipo de aviso de usuário desconhecido
Aviso do compilador (nível 1) C4616 #pragma warning: o número de aviso 'number' não é um aviso de compilador válido
Aviso do compilador (nível 1) C4618 os parâmetros de pragma incluíam uma cadeia de caracteres vazia; pragma ignorado
Aviso do compilador (nível 3) C4619 aviso #pragma: não há número de aviso 'number'
Aviso do compilador (nível 1) C4620 nenhuma forma pós-fixada de 'operator ++' encontrada para tipo 'type', usando forma de prefixo
Aviso do compilador (nível 1) C4621 nenhuma forma pós-fixada de 'operator --' encontrado para o tipo 'type', usando a forma pré-fixada
Aviso do compilador (nível 3) C4622 substituindo informações de depuração formadas durante a criação do cabeçalho pré-compilado no arquivo-objeto: 'file'
Aviso do compilador (nível 4) C4623 'derived class': o construtor de cópias padrão foi definido implicitamente como excluído porque um construtor padrão de classe base está inacessível ou foi excluído
Aviso do compilador (nível 1) C4624 'derived class': o destruidor foi definido implicitamente como excluído porque um destruidor de classe base está inacessível ou foi excluído
Aviso do compilador (nível 4) C4625 'derived class': o construtor de cópias foi definido implicitamente como excluído porque um construtor de cópias de classe base está inacessível ou foi excluído
Aviso do compilador (nível 4) C4626 'classe derivada': o operador de atribuição foi implicitamente definido como excluído porque um operador de atribuição de classe base está inacessível ou excluído
Aviso do compilador (nível 1) C4627 '<identifier>': ignorado ao procurar por uso de cabeçalho pré-compilado
Aviso do compilador (nível 1) C4628 dígrafos não suportados com -Ze. A sequência de caracteres 'digraph' não é interpretada como token alternativo para '%s'
Aviso do compilador (nível 4) C4629 dígrafo usado, sequência de caracteres 'digraph' interpretada como token 'char' (insira um espaço entre os dois caracteres caso isso não seja o que você pretendia)
Aviso do compilador (nível 1) C4630 'symbol': o especificador de classe de armazenamento 'extern' é inválido na definição de membro
Aviso do compilador (nível 2) C4631 MSXML ou XPath indisponível, os comentários do documento XML não serão processados. reason
Aviso do compilador (nível 1) C4632 Comentário da documentação XML: arquivo – acesso negado: motivo
Aviso do compilador (nível 3) C4633 Destino do comentário da documentação XML: erro: motivo
Aviso do compilador (nível 4) C4634 Destino do comentário da documentação XML: não pode ser aplicado: motivo
Aviso do compilador (nível 3) C4635 Destino do comentário da documentação XML: XML malformado: motivo
Aviso do compilador (nível 3) C4636 Comentário da documentação XML aplicado a constructo: a marca requer o atributo 'attribute' não vazio.
Aviso do compilador (níveis 3 e 4) C4637 Destino de comentário do documento XML: <incluir> marca descartada. Motivo
Aviso do compilador (nível 3) C4638 Destino de comentário da documentação XML: referência ao símbolo desconhecido 'symbol'.
Aviso do compilador (nível 4) C4639 Erro MSXML, comentários de documento XML não serão processados. Motivo
Aviso do compilador (nível 3) C4640 'instance': construção de objeto estático local não é thread-safe
Aviso do compilador (nível 3) C4641 O comentário da documentação XML tem uma referência cruzada ambígua:
Aviso do compilador (nível 1) C4642 classe”: não foi possível importar as restrições para o parâmetro genérico “nome
Aviso do compilador (nível 4, desativado) C4643 Encaminhar a declaração de 'identifier' no namespace std não é permitido pelo padrão C++.
Aviso do compilador (nível 1) C4644 o uso do padrão offsetof baseado em macro em expressões constantes não é padrão; use offsetof definido na biblioteca padrão C++
Aviso do compilador (nível 3) C4645 função declarada com __declspec(noreturn) tem uma instrução return
Aviso do compilador (nível 3) C4646 a função declarada com __declspec(noreturn) tem um tipo de retorno não nulo
Aviso do compilador (nível 3) C4647 mudança de comportamento: __is_pod(type) tem um valor diferente em versões anteriores
Aviso do compilador (nível 3) C4648 o atributo padrão 'carries_dependency' é ignorado
Aviso do compilador (nível 3) C4649 os atributos são ignorados nesse contexto
Aviso do compilador (nível 1) C4650 as informações de depuração não estão no cabeçalho pré-compilado; apenas símbolos globais do cabeçalho estarão disponíveis
Aviso do compilador (nível 1) C4651 'definition' especificado para cabeçalho pré-compilado, mas não para compilação atual
Aviso do compilador (nível 1) C4652 opção do compilador 'option' inconsistente com o cabeçalho pré-compilado; a opção de linha de comando atual substituirá a definida no cabeçalho pré-compilado
Aviso do compilador (nível 2) C4653 opção do compilador 'option' inconsistente com o cabeçalho pré-compilado; opção de linha de comando atual ignorada
Aviso do compilador (nível 4) C4654 O código colocado antes da inclusão da linha de cabeçalho pré-compilado será ignorado. Adicionar código ao cabeçalho pré-compilado.
Aviso do compilador (nível 1) C4655 'symbol': o tipo de variável é novo desde o último build ou é definido de forma diferente em outro lugar
Aviso do compilador (nível 1) C4656 'symbol': o tipo de dados é novo ou foi alterado desde a última compilação, ou é definido de maneira diferente em outro local
Aviso do compilador (nível 1) C4657 expressão envolve um tipo de dados que é novo desde a última compilação
Aviso do compilador (nível 1) C4658 'function': o protótipo de função é novo desde a última compilação, ou é declarado de forma diferente em outro local
Aviso do compilador (nível 1) C4659 #pragma 'pragma': o uso do segmento reservado 'segment' tem um comportamento indefinido, use #pragma comment(linker, ...)
Aviso do compilador (nível 1) C4661 'identifier': nenhuma definição adequada fornecida para solicitação de instanciação de modelo explícita
Aviso do compilador (nível 1) C4662 instanciação explícita; a classe de modelo 'identifier1' não tem nenhuma definição com base na qual especializar 'identifier2'
Aviso do compilador (nível 1) C4667 'function': nenhum modelo de função definido que corresponda à instanciação forçada
Aviso do compilador (nível 4) C4668 'symbol' não é definido como uma macro de pré-processador, substituindo por '0' para 'directive'
Aviso do compilador (nível 1) C4669 'cast': conversão não segura: 'class' é um objeto de tipo gerenciado
Aviso do compilador (nível 4) C4670 'identifier': esta classe base é inacessível
Aviso do compilador (nível 4) C4671 'identifier': o construtor de cópia é inacessível
Aviso do compilador (nível 4) C4672 'identifier1': ambíguo. Visto pela primeira vez como 'identificador2'
Aviso do compilador (nível 4) C4673 gerando 'identificador' os tipos a seguir não serão considerados no site catch
Aviso do compilador (nível 1) C4674 'método' deve ser declarado 'estático' e ter exatamente um parâmetro
Aviso do compilador (nível 4) C4676 '%s': o destruidor é inacessível
Aviso do compilador (nível 1) C4677 'function': assinatura do membro não privado contém o tipo privado do assembly 'private_type'
Aviso do compilador (nível 1) C4678 a classe base 'base_type' é menos acessível que 'derived_type'
Aviso do compilador (nível 1) C4679 'membro': não foi possível importar membro
Aviso do compilador (nível 4) C4680 'class': coclass não especifica uma interface padrão
Aviso do compilador (nível 4) C4681 'class': coclass não especifica uma interface padrão que é uma origem do evento
Aviso do compilador (nível 4) C4682 'parameter': nenhum atributo de parâmetro direcional especificado, o padrão será definido como [in]
Aviso do compilador (nível 1) C4683 'function': a origem do evento possui um parâmetro 'out'; tome cuidado ao capturar múltiplos manipuladores de evento
Aviso do compilador (nível 1) C4684 'attribute': AVISO!! o atributo pode causar geração de código inválido: use-o com cautela
Aviso do compilador (nível 1) C4685 esperado '>>', encontrado '>>' ao analisar parâmetros de modelo
Aviso do compilador (nível 3) C4686 'user-defined type': possível alteração no comportamento, alteração na convenção de chamada de retorno UDT
Aviso do compilador (erro) C4687 'class': uma classe abstrata selada não pode implementar uma interface 'interface'
Aviso do compilador (nível 1) C4688 'constraint': a lista de restrições contém o tipo privado de assembly 'type'
Aviso do compilador (nível 1) C4689 '%c': caractere não suportado em #pragma detect_mismatch; #pragma ignorado
Aviso do compilador (nível 4) C4690 [ emitidl( pop ) ]: efetuado maior número de remoções mais recentes da pilha do que pushes
Aviso do compilador (nível 1) C4691 'type': tipo referenciado era esperado em 'file' do assembly não referenciado, tipo definido na unidade de tradução atual usado
Aviso do compilador (nível 1) C4692 'function': assinatura de membro não privado contém tipo nativo privado de assembly 'native_type'
Aviso do compilador (nível 1, erro) C4693 'class': uma classe abstrata selada não pode ter nenhum membro de instância 'instance member'
Aviso do compilador (nível 1, erro) C4694 'class': uma classe abstrata selada não pode ter uma classe base 'base_class'
Aviso do compilador (nível 1) C4695 #pragma execution_character_set: não há suporte para o argumento 'character set': só há suporte no momento para 'UTF-8'
Aviso do compilador (nível 1) C4696 Opção /ZBvalue1 fora do intervalo; assumindo 'value2'
Aviso do compilador (nível 3) C4698 'feature' destina-se apenas a fins de avaliação, e está sujeito a alterações ou remoções em atualizações futuras.
Aviso do compilador (nível 1 e nível 4) C4700 variável local não inicializada 'name' usada
Aviso do compilador (nível 4) C4701 variável local possivelmente não inicializada 'name' usada
Aviso do compilador (nível 4) C4702 código inacessível
Aviso do compilador (nível 4) C4703 variável de ponteiro local potencialmente não inicializada '%s' usada
Aviso do compilador (nível 4) C4706 atribuição dentro de expressão condicional
Aviso do compilador (nível 4) C4709 operador vírgula dentro de expressão de índice de matriz
Aviso do compilador (nível 4) C4710 ''function': função não embutida
Aviso do compilador (nível 1) C4711 função 'function' selecionada para expansão embutida automática
Aviso do compilador (nível 4) C4714 função 'function' marcada como __forceinline não embutida
Aviso do compilador (nível 1) C4715 'função': nem todos os caminhos de controle retornam um valor
Aviso do compilador (nível 1, erro) C4716 'function': precisa retornar um valor
Aviso do compilador (nível 1) C4717 'function': recursiva em todos os caminhos de controle, a função causará estouro de pilha de runtime
Aviso do compilador (nível 4) C4718 'function call': a chamada recursiva não tem efeitos colaterais, excluindo
Aviso do compilador (nível 1) C4719 constante Double encontrada com Qfast especificado – use 'f' como um sufixo para indicar precisão simples
Aviso do compilador (nível 2) C4720 relatórios de assembler embutido: 'message'
Aviso do compilador (nível 1) C4721 'função': não disponível como uma intrínseca
Aviso do compilador (nível 1) C4722 'function': destruidor nunca retorna, potencial vazamento de memória
Aviso do compilador (nível 3) C4723 possível divisão por 0
Aviso do compilador (nível 3) C4724 possível MOD por 0
Aviso do compilador (nível 3) C4725 a instrução pode ser incorreta em alguns microprocessadores Pentium
Aviso do compilador C4726 ARM arch4/4T suporta apenas “<cpsr_f> ou <spsr_f>” com valor imediato
Aviso do compilador (nível 1) C4727 PCH chamado pch_file com o mesmo carimbo de data/hora encontrado em obj_file_1 e obj_file_2. Usando o primeiro PCH.
Aviso do compilador (nível 1) C4728 opção /Yl- ignorada porque é necessária a referência PCH
Aviso do compilador (nível 4) C4729 função muito grande para avisos baseados em grafo de fluxo
Aviso do compilador (nível 1) C4730 'main': misturar _m64 e expressões de ponto flutuante pode resultar em código incorreto
Aviso do compilador (nível 1) C4731 'pointer': registro de ponteiro de quadro 'register' modificado por código de assembly embutido
Aviso do compilador (nível 1) C4732 intrínseco '%s' não é suportado nesta arquitetura
Aviso do compilador (nível 1) C4733 Asm embutido atribuindo para 'FS:0': manipulador não registrado como manipulador seguro
Aviso do compilador C4734 Mais de 64k números de linha em uma seção de informações de depuração do COFF; pare de emitir números de linha de depuração COFF para o módulo “módulo”
Aviso do compilador C4735 align_function atributo argumento “argumento” não é uma potência de dois e não é positivo. Ignorando atributo
Aviso do compilador C4736 align_function atributo ignorado porque /Gy não foi especificado
Aviso do compilador (nível 3) C4738 armazenando o resultado float de 32 bits na memória, possível perda de desempenho
Aviso do compilador (nível 1) C4739 uma referência à variável 'var' excede o próprio espaço de armazenamento
Aviso do compilador (nível 4) C4740 fluxo que entra ou sai do código asm embutido suprime a otimização global
Aviso do compilador (nível 1) C4742 'var' tem alinhamento diferente em 'file1' e 'file2': número e número
Aviso do compilador (nível 1) C4743 'type' tem tamanho diferente em 'file1' e 'file2': número e bytes de número
Aviso do compilador (nível 1) C4744 'var' tem tipo diferente em 'file1' e 'file2': 'type1' e 'type2'
Aviso do compilador C4745 o acesso volátil de “nome” não pode ser respeitado devido ao seu tamanho
Aviso do compilador C4746 acesso volátil de 'expression' está sujeito à configuração /volatile:<iso|ms>; considere usar funções intrínsecas do __iso_volatile_load/store
Aviso do compilador (nível 1) C4747 Chamada a 'entrypoint' gerenciado: Código gerenciado não deve ser executado sob bloqueio do carregador, incluindo o ponto de entrada de DLL e chamadas acessíveis do ponto de entrada de DLL
Aviso do compilador (nível 4) C4749 com suporte condicional: offsetof aplicado ao tipo de layout não padrão 'type'
Aviso do compilador (nível 1) C4750 'identifier': função com _alloca() embutida dentro de um loop
Aviso do compilador (nível 4) C4751 /arch: O AVX não se aplica às Extensões SIMD de Streaming da Intel(R) que estejam dentro do ASM embutido
Aviso do compilador (nível 4) C4752 extensões de vetores avançadas da Intel(R) encontradas; considere usar /arch:AVX
Aviso do compilador C4753 Não é possível encontrar limites para o ponteiro; Função intrínseca do MPX ignorada
Aviso do compilador (nível 4) C4754 As regras de conversão para operações aritméticas na comparação em %s(%d) significam que uma ramificação não pode ser executada. Converter '%s' em '%s' (ou tipo semelhante de %d bytes).
Aviso do compilador C4755 As regras de conversão para operações aritméticas na comparação em %s(%d) significam que uma ramificação não pode ser executada em uma função embutida. Converter '%s' em '%s' (ou tipo semelhante de %d bytes).
Aviso do compilador (nível 2) C4756 estouro na aritmética constante
Aviso do compilador (nível 4) C4757 o subscrito é um valor grande sem sinal, você pretendia uma constante negativa?
Aviso do compilador C4761 incompatibilidade de tamanho integral no argumento; conversão fornecida
Aviso do compilador (nível 4) C4764 Não é possível alinhar objetos catch maiores do que 16 bytes
Aviso do compilador (nível 4) C4767 o nome da seção '%s' tem mais de 8 caracteres e será truncado pelo vinculador
Aviso do compilador (nível 3) C4768 os atributos de __declspec antes da especificação de vínculo são ignorados
Aviso do compilador (nível 4) C4770 enumeração parcialmente validada 'name' usada como índice
Aviso do compilador C4771 Limites devem ser criados usando um ponteiro simples; Função intrínseca MPX ignorada
Aviso do compilador (nível 1, erro) C4772 #import referenciou um tipo de uma biblioteca de tipos ausente; 'missing_type' usado como um espaço reservado
Aviso do compilador (nível 4) C4774 'string': a cadeia de caracteres de formato esperado no argumento number não é um literal de cadeia de caracteres
Aviso do compilador (nível 3) C4775 a extensão não padrão usada na cadeia de caracteres de formato 'string' da função 'function'
Aviso do compilador (nível 1) C4776 '%character' não é permitido na cadeia caracteres de formato da função 'function'
Aviso do compilador (nível 4) C4777 'function': a cadeia de caracteres de formato 'string' exige um argumento do tipo 'type1', mas o argumento variádico number tem o tipo 'type2'
Aviso do compilador (nível 3) C4778 'function' : cadeia de caracteres de formato não gerenciado 'string'
Aviso do compilador (nível 1) C4788 'identificador': identificador truncado para caracteres 'number'
Aviso do compilador (nível 1) C4789 o buffer 'identifier' de tamanho N bytes será saturado; Os bytes M serão gravados a partir do deslocamento L
Aviso do compilador (nível 2) C4792 função '%s' declarada usando sysimport e referenciada em código nativo; biblioteca de importação requerida para vínculo
Aviso do compilador (nível 1 e 3) C4793 'function': função compilada como nativa: 'reason'
Aviso do compilador (nível 1) C4794 segmento de variável de armazenamento local de thread '%s' mudou de '%s' para '%s'
Aviso do compilador C4798 código nativo gerado para a função 'nome' do código p com manipulador de exceções ou semântica de desenrolamento
Aviso do compilador (nível 1) C4799 função 'function' não tem nenhuma instrução EMMS

Confira também

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