Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os artigos nesta seção da documentação explicam um subconjunto das mensagens de erro geradas pelo compilador.
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 resolver vários erros subsequentes.
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ê tiver desembarcado nesta página e achar que a mensagem de erro ou aviso precisa de explicação adicional, informe-nos usando os botões de comentários nesta página. 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 Problemaou envie uma sugestão usando Ajuda > Enviar Comentários > Sugerir um recurso. 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 em fóruns do Microsoft Q&A C++. 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 erro
| Erro | Mensagem |
|---|---|
| Erro do compilador C2600 | 'função': não é possível definir uma função membro especial gerada pelo compilador (deve ser declarada primeiro na classe) |
| Erro do compilador C2601 | 'função': definições de função locais são inválidas |
| Erro do compilador C2602 | 'classe::identificador' não é membro de uma classe base de 'classe' |
| Erro do compilador C2603 | 'função': muitos objetos estáticos de escopo de bloco com construtores/destruidores na função |
| Erro do compilador C2604 | 'identificador': não é possível implementar mais de um método de interface |
| Erro do compilador C2605 | 'identificador': esse método é reservado em uma classe gerenciada/WinRT |
| Erro do compilador C2606 | 'classe1': não é possível implementar novamente 'membro', pois ele é herdado da 'classe2' base de runtime |
| Erro do compilador C2607 | falha na instrução static |
| Erro do compilador C2608 | símbolo inválido 'token' na lista de parâmetros de macro |
| Erro do compilador C2609 | ')' ausente na lista de parâmetros de macro |
| Erro do compilador C2610 | 'classe::membro': não é uma função membro especial que pode ser definida como padrão |
| Erro do compilador C2611 | 'token': inválido após '~' (identificador esperado) |
| Erro do compilador C2612 | 'caractere' inválido à direita na lista de inicializadores base/membro |
| Erro do compilador C2613 | 'caractere' à direita inválido na lista de classes base |
| Erro do compilador C2614 | 'classe': inicialização inválida de membro: 'identificador' não é uma base ou membro |
| Erro do compilador C2615 | 'offsetof' não pode ser aplicado ao tipo não de classe 'tipo' |
| Erro do compilador C2616 | 'conversão': não é possível converter implicitamente um 'tipo1' não lvalue em um 'tipo2' que não seja const |
| Erro do compilador C2617 | 'função': instrução return inconsistente |
| Erro do compilador C2618 | designador de membro ilegal em offsetof |
| Erro do compilador C2619 | 'identificador': um membro de dados estático não é permitido em um struct/união anônimo |
| Erro do compilador C2620 | Obsoleto. |
| Erro do compilador C2621 | Obsoleto. |
| Erro do compilador C2622 | Obsoleto. |
| Erro do compilador C2623 | Obsoleto. |
| Erro do compilador C2624 | 'escopo::tipo': classes locais não podem ser usadas para declarar variáveis 'extern' |
| Erro do compilador C2625 | 'identificador': membro da união inválido; o tipo 'tipo' é tipo de referência |
| Erro do compilador C2626 | 'identificador': um membro de dados privado/protegido não é permitido em um(a) struct/união anônimo |
| Erro do compilador C2627 | 'função': função membro não permitida em união anônima |
| Erro do compilador C2628 | 'tipo1' seguido por 'tipo2' é inválido (você esqueceu um ';'?) |
| Erro do compilador C2629 | 'identificador': um struct/união anônimo não pode declarar um tipo aninhado |
| Erro do compilador C2630 | 'símbolo' encontrado no que deveria ser uma lista separada por vírgulas |
| Erro do compilador C2631 | 'identificador': uma classe ou enumeração não pode ser definida em um modelo de alias |
| Erro do compilador C2632 | 'tipo1' seguido por 'tipo2' é inválido |
| Erro do compilador C2633 | 'identificador': 'inline' é a única classe de armazenamento válida para construtores |
| Erro do compilador C2634 | 'classe::membro': um ponteiro para um membro de referência é inválido |
| Erro do compilador C2635 | não é possível converter um 'tipo1*' em um 'tipo2*'; a conversão de uma classe base virtual é implícita |
| Erro do compilador C2636 | 'identificador': um ponteiro para um membro de referência é inválido |
| Erro do compilador C2637 | 'identificador': não é possível modificar ponteiros para membros de dados |
| Erro do compilador C2638 | 'identificador': modificador __based inválido no ponteiro para membro |
| Erro do compilador C2639 | o tipo de retorno final 'type' do guia de dedução deve ser uma especialização de 'modelo de classe' |
| Erro do compilador C2640 | 'abstract declarator': modificador __based ilegal em referência |
| Erro do compilador C2641 | não é possível deduzir argumentos de modelo para 'nome do modelo' |
| Erro do compilador C2642 | duas declarações de guia de dedução para o mesmo modelo de classe não podem ter lista de parâmetros equivalente e cabeçalho de modelo |
| Erro do compilador C2643 | o guia de dedução deve ser declarado no mesmo escopo do modelo de classe correspondente 'nome do modelo' |
| Erro do compilador C2644 | o guia de dedução deve ter o mesmo acesso que o modelo de classe correspondente 'nome do modelo' |
| Erro do compilador C2645 | nenhum nome qualificado de ponteiro para membro (':: *' encontrado) |
| Erro do compilador C2646 | uma estrutura/união anônima no escopo global ou de namespace deve ser declarada "static" |
| Erro do compilador C2647 | 'operador': não é possível desreferenciar um 'tipo1' em um 'tipo2' |
| Erro do compilador C2648 | 'identificador': o uso de membro como parâmetro padrão requer um membro estático |
| Erro do compilador C2649 | 'identificador': não é 'class/struct/union' |
| Erro do compilador C2650 | 'operador': não pode ser uma função virtual |
| Erro do compilador C2651 | 'tipo': à esquerda de '::' deve ser uma classe, struct ou união |
| Erro do compilador C2652 | 'identificador': construtor de cópia inválido: primeiro parâmetro não deve ser um 'tipo' |
| Erro do compilador C2653 | 'identificador': não é um nome de classe ou de namespace |
| Erro do compilador C2654 | 'identificador': tentativa de acessar um membro fora de uma função membro |
| Erro do compilador C2655 | 'identificador': definição ou redeclaração inválida no escopo atual |
| Erro do compilador C2656 | 'função': função não permitida como um campo de bits |
| Erro do compilador C2657 | 'classe::*' encontrado no início de uma instrução (você esqueceu de especificar um tipo?) |
| Erro do compilador C2658 | 'identificador': redefinição em struct/união anônimo(a) |
| Erro do compilador C2659 | 'operador': função como operando esquerdo |
| Erro do compilador C2660 | 'função': a função não recebe argumentos de número |
| Erro do compilador C2661 | 'função': nenhuma função sobrecarregada usa argumentos de número |
| Erro do compilador C2662 | 'função': não é possível converter o ponteiro 'this' de 'tipo1' para 'tipo2' |
| Erro do compilador C2663 | 'função': nenhuma função sobrecarregada tem conversão válida para o ponteiro 'this' |
| Erro do compilador C2664 | 'função': não é possível converter o argumento de número de 'tipo1' para 'tipo2' |
| Erro do compilador C2665 | 'função': nenhuma função sobrecarregada pode converter todos os tipos de argumento |
| Erro do compilador C2666 | 'função': funções sobrecarregadas têm conversões semelhantes |
| Erro do compilador C2667 | 'função': não há nenhuma função sobrecarregada que tenha uma conversão melhor |
| Erro do compilador C2668 | 'função': chamada ambígua à função sobrecarregada |
| Erro do compilador C2669 | função membro não permitida em união anônima |
| Erro do compilador C2670 | 'função': o modelo de função não pode converter o número do parâmetro do tipo 'tipo' |
| Erro do compilador C2671 | 'função': as funções membro static não têm ponteiros "this" |
| Erro do compilador C2672 | 'função': nenhuma função sobrecarregada correspondente encontrada |
| Erro do compilador C2673 | 'função': funções globais não têm ponteiros 'this' |
| Erro do compilador C2674 | uma declaração genérica não é permitida neste contexto |
| Erro do compilador C2675 | 'operador' unário: 'tipo' não define esse operador ou uma conversão para um tipo aceitável ao operador pré-definido |
| Erro do compilador C2676 | 'operador' binário: 'tipo' não define esse operador ou uma conversão para um tipo aceitável ao operador pré-definido |
| Erro do compilador C2677 | 'operador' binário: nenhum operador global encontrado que receba o tipo 'tipo' (ou não há conversão aceitável) |
| Erro do compilador C2678 | 'operador' binário: nenhum operador encontrado que usa um operando à esquerda do tipo 'tipo' (ou não há conversão aceitável) |
| Erro do compilador C2679 | 'operador' binário: não foi encontrado nenhum operador que use um operando à direita do tipo 'tipo' (ou não há conversão aceitável) |
| Erro do compilador C2680 | 'tipo': tipo de destino inválido para conversão |
| Erro do compilador C2681 | 'tipo': tipo de expressão inválido para conversão |
| Erro do compilador C2682 | não é possível usar 'cast' para converter de 'tipo1' para 'tipo2' |
| Erro do compilador C2683 | 'conversão' : 'tipo' não é um tipo polimórfico |
| Erro do compilador C2684 | 'declarador': não há suporte para funções excluídas e padrão em classes gerenciadas/WinRT |
| Erro do compilador C2685 | 'declarador': não há suporte para funções excluídas e padrão com especificadores de restrição explícitas |
| Erro do compilador C2686 | não é possível sobrecarregar funções membro static e não static com os mesmos tipos de parâmetros |
| Erro do compilador C2687 | 'tipo' a declaração de exceção não pode ser 'void' nem denotar um tipo incompleto, um ponteiro para um tipo incompleto ou uma referência a um tipo incompleto |
| Erro do compilador C2688 | 'tipo::membro': retornos covariantes com herança múltipla ou virtual não são suportados para funções varargs |
| Erro do compilador C2689 | 'função': uma função friend não pode ser definida dentro de uma classe local |
| Erro do compilador C2690 | 'operador': não é possível executar aritmética de ponteiro em uma matriz gerenciada/WinRT |
| Erro do compilador C2691 | 'tipo': uma matriz gerenciada/WinRT não pode ter esse tipo de elemento |
| Erro do compilador C2692 | 'função': funções totalmente prototipadas necessárias no compilador C com a opção '/clr' |
| Erro do compilador C2693 | 'operador': comparação inválida para referências a uma matriz gerenciada/WinRT |
| Erro do compilador C2694 | 'substituir_função': substituir a função virtual tem uma especificação de exceção menos restritiva do que a função membro virtual da classe base 'função_base' |
| Erro do compilador C2695 | 'substituir_função': substituir função virtual difere de 'função_base' apenas na convenção de chamada |
| Erro do compilador C2696 | Não é possível criar um objeto temporário do tipo gerenciado/WinRT 'tipo' |
| Erro do compilador C2697 | Obsoleto. |
| Erro do compilador C2698 | a declaração de uso para 'declaração1' não pode coexistir com a declaração de uso existente para 'declaração2' |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2000 a C3999, C7000 a C7999