Compartilhar via


Erros do compilador C2001 a C2099

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 C2001 nova linha em constante
Erro do compilador C2002 constante de caractere largo inválida
Erro do compilador C2003 'defined id' esperado
Erro do compilador C2004 "defined(id)" esperado
Erro do compilador C2005 #line esperava um número de linha, encontrou 'token'
Erro do compilador C2006 'directive' esperava um nome de arquivo, encontrou 'token'
Erro do compilador C2007 sintaxe de #define
Erro do compilador C2008 'character': inesperado na definição de macro
Erro do compilador C2009 reutilização do 'identificador' macro formal
Erro do compilador C2010 'character' : inesperado na lista de parâmetros formais de macro
Erro do compilador C2011 'identificador' : redefinição de tipo 'type'
Erro do compilador C2012 nome ausente após '<'
Erro do compilador C2013 '>' ausente
Erro do compilador C2014 comando de pré-processador deve começar como primeiro caractere diferente de espaço
Erro do compilador C2015 muitos caracteres na constante
Erro do compilador C2016 C requer que um struct ou união tenha pelo menos um membro
Erro do compilador C2017 sequência de escape inválida
Erro do compilador C2018 caractere desconhecido '0xvalue'
Erro do compilador C2019 esperada diretiva de pré-processador, encontrado 'character'
Erro do compilador C2020 'member': redefinição de membro 'class'
Erro do compilador C2021 esperado valor de expoente, não 'character'
Erro do compilador C2022 'number': muito grande para caractere
Erro do compilador C2023 'identifier': alinhamento (value-1) diferente da declaração anterior (value-2)
Erro do compilador C2024 o atributo 'alignas' se aplica somente a variáveis, membros de dados e tipos de marcas
Erro do compilador C2025 arquivo da interface do módulo binário corrompido ou inválido: 'filename'
Erro do compilador C2026 cadeia de caracteres muito grande, caracteres à direita truncados
Erro do compilador C2027 uso do tipo indefinido 'tipo'
Erro do compilador C2028 membro de struct/união deve estar dentro de um struct/união
Erro do compilador C2029 (Obsoleto) à esquerda de 'token' especifica 'identifier' de classe/struct/interface indefinidos
Erro do compilador C2030 um destruidor com acessibilidade 'privada protegida' não pode ser membro de uma classe declarada 'selada'
Erro do compilador C2031 um destruidor virtual com acessibilidade 'acessibilidade' não é permitido para esse tipo
Erro do compilador C2032 'identifier': a função não pode ser membro do 'type' struct/union
Erro do compilador C2033 'identificador': o campo de bit não pode ter indireção
Erro do compilador C2034 'identifier': tipo de campo de bits muito pequeno para o número de bits
Erro do compilador C2035 um destruidor não virtual com acessibilidade 'acessibilidade' não é permitido para esse tipo
Erro do compilador C2036 'identificador': tamanho desconhecido
Erro do compilador C2037 à esquerda de 'operator' especifica 'type' de struct/união indefinidos
Erro do compilador C2038 o namespace std não pode estar embutido
Erro do compilador C2039 'identifier1' : não é um membro de 'identifier2'
Erro do compilador C2040 'operator': 'identifier1' difere de 'identifier2' nos níveis de indireção
Erro do compilador C2041 'character' de dígito inválido para 'number' base
Erro do compilador C2042 palavras-chave signed/unsigned mutuamente exclusivas
Erro do compilador C2043 interrupção inválida
Erro do compilador C2044 continuação inválida
Erro do compilador C2045 'identifier': rótulo redefinido
Erro do compilador C2046 caso inválido
Erro do compilador C2047 padrão inválido
Erro do compilador C2048 mais de um padrão
Erro do compilador C2049 'namespace-name': um namespace não embutido não pode ser reaberto como embutido
Erro do compilador C2050 a expressão de switch não é integral
Erro do compilador C2051 expressão de caso não constante
Erro do compilador C2052 'type': tipo inválido para expressão de caso
Erro do compilador C2053 'identifier': incompatibilidade de cadeia de caracteres larga
Erro do compilador C2054 esperado '(' para seguir 'identifier'
Erro do compilador C2055 esperada lista de parâmetros formais, não uma lista de tipos
Erro do compilador C2056 Expressão inválida
Erro do compilador C2057 expressão constante esperada
Erro do compilador C2058 a expressão constante não é integral
Erro do compilador C2059 erro de sintaxe: 'token'
Erro do compilador C2060 erro de sintaxe: fim do arquivo encontrado
Erro do compilador C2061 erro de sintaxe: identificador 'identifier'
Erro do compilador C2062 tipo 'type' inesperado
Erro do compilador C2063 'identifier' : não uma função
Erro do compilador C2064 O termo não é avaliado para uma função que usa argumentos number
Erro do compilador C2065 'identifier': identificador não declarado
Erro do compilador C2066 a conversão para tipo de função é inválida
Erro do compilador C2067 a conversão para tipo de matriz é inválida
Erro do compilador C2068 uso ilegal de função sobrecarregada. Lista de argumentos ausentes?
Erro do compilador C2069 conversão de termo 'void' para não 'void'
Erro do compilador C2070 'type': operando de sizeof inválido
Erro do compilador C2071 'identifier': classe de armazenamento inválida
Erro do compilador C2072 'identifier': inicialização de uma função
Erro do compilador C2073 (Obsoleto) 'identifier': elementos de uma matriz parcialmente inicializada precisam ter um construtor padrão
Erro do compilador C2074 'identifier': a inicialização 'type' requer uma lista de inicializadores entre chaves
Erro do compilador C2075 'identifier': a inicialização da matriz requer uma lista de inicializadores entre chaves
Erro do compilador C2076 não é possível usar uma lista de inicializadores entre chaves em uma new-expression cujo tipo contém 'type'
Erro do compilador C2077 inicializador de campo não escalar 'identifier'
Erro do compilador C2078 número excessivo de inicializadores
Erro do compilador C2079 'identifier' usa 'type' de struct/classe/união indefinidos
Erro do compilador C2080 'identifier': o tipo de 'type' só pode ser deduzido por meio de uma expressão de inicializador único
Erro do compilador C2081 'identifier': nome inválido na lista de parâmetros formais
Erro do compilador C2082 redefinição do parâmetro formal 'identifier'
Erro do compilador C2083 comparação struct/union ilegal
Erro do compilador C2084 função 'identifier' já tem um corpo
Erro do compilador C2085 'identifier': ausente da lista de parâmetros formais
Erro do compilador C2086 'identifier': redefinição
Erro do compilador C2087 'identifier' : subscrito ausente
Erro do compilador C2088 'operator': ilegal para struct/classe/união
Erro do compilador C2089 'identifier': 'type' muito grande
Erro do compilador C2090 a função retorna uma matriz
Erro do compilador C2091 a função retorna uma função
Erro do compilador C2092 o tipo de elemento de matriz 'identifier' não pode ser função
Erro do compilador C2093 'identifier1': não pode ser inicializada usando endereço de variável automática 'identifier2'
Erro do compilador C2094 o rótulo 'identifier' estava indefinido
Erro do compilador C2095 'function': o parâmetro real tem tipo 'void': parâmetro number
Erro do compilador C2096 'identifier': Não e possível inicializar um membro de dados com um inicializador entre parênteses
Erro do compilador C2097 inicialização inválida
Erro do compilador C2098 token inesperado após o membro de dados 'identifier'
Erro do compilador C2099 inicializador não é uma constante

Confira também

Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2001 - C3999, C7000 - C7999