Compartilhar via


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