Erros do compilador C2600 a C2699
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 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 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 | Obsoleto. |
Erro do compilador C2609 | Obsoleto. |
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 '~' (esperado identificador) |
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 | Obsoleto. |
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 | Obsoleto. |
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 | Obsoleto. |
Erro do compilador C2640 | 'identificador': modificador __based inválido na referência |
Erro do compilador C2641 | Obsoleto. |
Erro do compilador C2642 | Obsoleto. |
Erro do compilador C2643 | Obsoleto. |
Erro do compilador C2644 | Obsoleto. |
Erro do compilador C2645 | nenhum nome qualificado de ponteiro para membro (':: *' encontrado) |
Erro do compilador C2646 | uma união/struct anônimo(a) no escopo global ou de namespace deve ser declarado(a) 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': sobrecargas de número não têm conversão legal 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 das sobrecargas de número poderia converter todos os tipos de argumento |
Erro do compilador C2666 | 'função': sobrecargas de número têm conversões semelhantes |
Erro do compilador C2667 | 'função': nenhuma das sobrecargas de número tem 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: nenhum operador encontrado 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 'conversão' 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': retorna covariante com herança múltipla ou virtual sem suporte 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 'tipo' gerenciado/WinRT |
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