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