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 tipo no sumário desta 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. Em Visual Studio, vá para a barra de menus e escolha Help > Enviar Comentários > Relatar um Problema ou envie uma sugestão usando Help > 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 nos fóruns 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 C2001 | nova linha em literal de string |
| Erro do compilador C2002 | esperado um literal de cadeia de caracteres comum |
| Erro do compilador C2003 | esperava-se um 'id' definido |
| Erro do compilador C2004 | esperava-se 'defined(id)' |
| Erro do compilador C2005 | #line esperava um número de linha, encontrou 'token' |
| Erro do compilador C2006 | 'directive': esperado "FILENAME" ou <FILENAME> |
| Erro do compilador C2007 | sintaxe do #define |
| Erro do compilador C2008 | 'character': inesperado na definição de macro |
| Erro do compilador C2009 | não é possível reutilizar o nome do parâmetro de macro 'identifier' |
| 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 | era esperado um 'token' |
| Erro do compilador C2014 | O comando de pré-processador deve começar como o primeiro caractere que não seja espaço em branco |
| 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 desconhecida |
| Erro do compilador C2018 | O caractere 'U+value' não é permitido aqui |
| 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 | valor de expoente esperado, não 'caractere' |
| 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 finais truncados |
| Erro do compilador C2027 | uso do tipo indefinido 'tipo' |
| Erro do compilador C2028 | membro de struct/union deve estar dentro de uma struct/union |
| Erro do compilador C2029 | (Obsoleto) à esquerda de 'token' especifica uma classe/struct/interface indefinida 'identifier' |
| 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 nível de acesso 'accessibility' não é permitido para este tipo |
| Erro do compilador C2032 | 'identifier': a função não pode ser membro da struct/union 'type' |
| 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 nível de acesso 'accessibility' não é permitido para esse tipo |
| Erro do compilador C2036 | 'identificador': tamanho desconhecido |
| Erro do compilador C2037 | à esquerda de 'operator' indica struct/união indefinida 'type' |
| 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 | dígito inválido 'character' para a base 'number' |
| Erro do compilador C2042 | as palavras-chave signed/unsigned são mutuamente exclusivas entre si |
| Erro do compilador C2043 | instrução break fora de loop ou instrução switch |
| Erro do compilador C2044 | continuação inválida |
| Erro do compilador C2045 | 'identifier': rótulo redefinido |
| Erro do compilador C2046 | caso ilegal |
| Erro do compilador C2047 | padrão não permitido |
| 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 '(' após 'identificador' |
| Erro do compilador C2055 | era esperada uma 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 um tipo de função não é permitida |
| Erro do compilador C2067 | a conversão para o tipo vetor é ilegal |
| Erro do compilador C2068 | uso ilegal de função sobrecarregada. Falta a lista de argumentos? |
| 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 de 'type' requer uma lista de inicializadores entre chaves |
| Erro do compilador C2075 | 'identificador': a inicialização requer uma lista de inicializadores entre chaves |
| Erro do compilador C2076 | não é possível usar uma lista de inicialização entre chaves em uma expressão new cujo tipo contenha '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' do tipo struct/classe/união indefinido |
| 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 entre struct e union inválida |
| 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': índice ausente |
| Erro do compilador C2088 | O operador interno 'operator' não pode ser aplicado a um operando do tipo 'tipo de classe' |
| Erro do compilador C2089 | 'identifier': 'type' grande demais |
| 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 'identificador' não pode ser função ou tipo de classe abstrato |
| 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