Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 compilação do Visual Studio podem relatar muitos tipos de erros e avisos. Depois que um erro ou aviso é encontrado, as ferramentas de compilação podem 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 podem não se aplicar ao seu projeto. Quando você corrige problemas em seu projeto, sempre comece com o primeiro erro ou aviso relatado e recrie com frequência. Uma correção pode resolver vários erros subsequentes.
Para obter ajuda sobre uma mensagem de diagnóstico específica no Visual Studio, selecione-a na janela Output e pressione a tecla F1. O Visual Studio abre a página de documentação para esse erro, se existir. 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 o índice nesta página.
Observação
Nem todos os erros ou avisos do Visual Studio são documentados. Em muitos casos, a mensagem de diagnóstico fornece todas as informações disponíveis. Se você chegou a esta página e acha que a mensagem de erro ou aviso precisa de explicações adicionais, informe-nos usando os botões de feedback nesta página. Se você acha que o erro ou aviso está errado, ou encontrou outro problema com o conjunto de ferramentas, relate um problema de produto no site Comunidade de Desenvolvedores. Você também pode enviar comentários e inserir bugs dentro do IDE. No Visual Studio, vá para a barra de menus e escolha Ajuda > Enviar Comentários > Relatar um Problemaou enviar uma sugestão usando Ajuda > Enviar Comentários > Sugerir um recurso. Alguns tópicos de erros do compilador que não são emitidos pelo compilador foram criados 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++. Ou, procure o número de erro ou aviso no Visual Studio C++ Developer Community site. Você também pode pesquisar Stack Overflow para encontrar soluções.
Para obter links para ajuda adicional e recursos da comunidade, consulte Ajuda do Visual C++ eComunidade.
Mensagens de erro
| Erro | Mensagem |
|---|---|
| Erro do compilador C2400 | erro de sintaxe do assembler inline em 'contexto'; encontrado 'token' |
| Erro de compilador C2401 | «identificador»: o registo deve basear-se no «contexto» |
| Erro do compilador C2402 | «identificador»: o registo deve ser indexado em «contexto» |
| Erro de compilador C2403 | «identificador»: o registro deverá ser base/índice em «contexto» |
| Erro de compilador C2404 | «identificador»: registo ilegal no «contexto» |
| Erro de compilador C2405 | referência de curto prazo ilegal com compensação |
| Erro de compilador C2406 | 'identificador': nome indefinido em 'contexto' |
| Erro de compilador C2407 | registo ilegal de «flutuação» no «contexto» |
| Erro de compilador C2408 | tipo ilegal no operador PTR em 'contexto' |
| Erro do compilador C2409 | Tipo ilícito utilizado como operador em «contexto» |
| Erro do compilador C2410 | 'identificador': nome de membro ambíguo em 'contexto' |
| Erro do compilador C2411 | «identificador»: membro ilegal da estrutura/união em «contexto» |
| Erro do compilador C2412 | «Rótulo»: rótulo insensível a maiúsculas e minúsculas foi redefinido |
| Erro de compilador C2413 | 'identificador': tamanho do alinhamento ilegal |
| Erro de compilador C2414 | número ilegal de operandos |
| Erro de compilador C2415 | tipo de operando impróprio |
| Erro do compilador C2416 | atributo 'atributo' não pode ser aplicado neste contexto |
| Erro do compilador C2417 | dividir por zero em 'contexto' |
| Erro do compilador C2418 | não é possível excluir o arquivo do navegador: nome do arquivo |
| Erro de compilador C2419 | mod por zero em 'contexto' |
| Erro do compilador C2420 | «Identificador»: símbolo ilegal no contexto |
| Erro de compilador C2421 | Operador PTR utilizado com registro em 'contexto' |
| Erro do compilador C2422 | Sobreposição ilegal de segmento em 'contexto' |
| Erro do compilador C2423 | «número»: escala ilegal |
| Erro de compilador C2424 | 'token': expressão imprópria em 'contexto' |
| Erro de compilador C2425 | 'token': expressão não constante em 'contexto' |
| Erro de compilador C2426 | 'token': operador ilegal em 'contexto' |
| Erro de compilador C2427 | 'classe': não é possível definir classe neste âmbito |
| Erro do compilador C2428 | 'operação': não permitida no operando do tipo 'bool' |
| Erro do compilador C2429 | 'Language Feature' requer sinalizador do compilador 'Opção do compilador' |
| Erro do compilador C2430 | mais de um registo de índice em 'contexto' |
| Erro de compilador C2431 | registo de índice ilegal em 'contexto' |
| Erro do compilador C2432 | referência ilegal a dados de 16 bits em "contexto" |
| Erro do compilador C2433 | «identificador»: «modificador» não autorizado nas declarações de dados |
| Erro do compilador C2434 | 'símbolo': um símbolo declarado com __declspec(process) não pode ser inicializado dinamicamente no /clr:pure modo |
| Erro do compilador C2435 | 'var': inicialização dinâmica requer CRT gerenciado, não pode compilar com /clr:safe |
| Erro de compilador C2436 | 'identifier': função membro ou classe aninhada na lista de inicializadores do construtor |
| Erro do compilador C2437 | 'identifier': já foi inicializado |
| Erro do compilador C2438 | 'Identifier': Não é possível inicializar dados de classe estática via construtor |
| Erro do compilador C2439 | 'Identificador': Não foi possível inicializar o membro |
| Erro do compilador C2440 | 'conversão': não é possível converter de 'type_1' para 'type_2' |
| Erro de compilador C2441 | «variável»: um símbolo declarado com __declspec(process) deve estar const em /clr:modo puro |
| Erro de compilador C2442 | 'identifier': definição de espaço de nomes aninhado não pode estar embutida nem ter atributos |
| Erro de compilador C2443 | conflito no tamanho do operando |
| Erro do compilador C2444 | 'identificador': protótipo ANSI usado, encontrado 'tipo', esperado '{' ou ';' |
| Erro de compilador C2445 | O tipo de resultado da expressão condicional é ambíguo: os tipos 'tipo 1' e 'tipo 2' podem ser convertidos em vários tipos comuns |
| Erro do compilador C2446 | «Operador»: nenhuma conversão de «type_1» para «type_2» |
| Erro de compilador C2447 | '{': cabeçalho de função ausente (lista formal de estilo antigo?) |
| Erro de compilador C2448 | 'identificador': inicializador de estilo de função parece ser uma definição de função |
| Erro de compilador C2449 | encontrado '{' no escopo do arquivo (cabeçalho da função ausente?) |
| Erro de compilador C2450 | uma switch expressão do tipo «tipo» é ilegal |
| Erro do compilador C2451 | a expressão condicional do tipo «tipo» é ilegal |
| Erro do compilador C2452 | 'tipo': tipo de fonte inválido para safe_cast |
| Erro do compilador C2453 | 'type': tipo de destino inválido para safe_cast |
| Erro de compilador C2454 | 'identifier': o nome do alias do namespace não pode ser declarado usando um nome qualificado |
| Erro de compilador C2455 | 'class' uma classe ref do WinRT que deriva de uma classe base importada não pode ser abstrata. |
| Erro de compilador C2456 | 'class' Uma classe ref não selada não pode ter um construtor visível público. Sela a classe ou especifique o construtor como 'internal', 'protected private' ou 'private' em vez disso. |
| Erro de compilador C2457 | 'identificador': macro predefinida não pode aparecer fora de um corpo de função |
| Erro de compilador C2458 | «Identificador»: redefinição dentro da definição |
| Erro do compilador C2459 | «identificador»: está a ser definido; não é possível adicionar como um membro anônimo |
| Erro do compilador C2460 | «identifier_1»: utiliza «identifier_2», que está a ser definido |
| Erro de compilador C2461 | 'class': sintaxe do construtor sem parâmetros formais |
| Erro do compilador C2462 | 'identificador': não é possível definir um tipo em uma 'nova expressão' |
| Erro do compilador C2464 | 'tipo': não é possível usar 'new' para atribuir uma referência |
| Erro do compilador C2465 | Não é possível definir um tipo anônimo entre parênteses |
| Erro do compilador C2466 | Não é possível alocar uma matriz de tamanho constante 0 |
| Erro de compilador C2467 | Declaração ilegal de «user_defined_type» anónimo |
| Erro do compilador C2468 | construtor não pode ser 'constexpr' em uma classe ou struct com classes base virtuais |
| Erro de compilador C2469 | 'new': não é possível alocar objetos 'void' |
| Erro de compilador C2470 | 'função': parece uma definição de função, mas não há uma lista de parâmetros; pular corpo aparente |
| Erro do compilador C2471 | Não é possível atualizar o banco de dados do programa 'nome do arquivo' |
| Erro do compilador C2472 | 'function' não pode ser gerado em código gerenciado: 'message'; compilar com /clr para gerar uma imagem mista |
| Erro de compilador C2473 | 'identificador': parece uma definição de função, mas não há uma lista de parâmetros. |
| Erro de compilador C2474 | 'identificador': falta um ponto-e-vírgula adjacente; pode ser uma palavra-chave ou um identificador. |
| Erro de compilador C2475 | «Identificador»: redefinição; Incompatibilidade do especificador 'constexpr' |
| Erro de compilador C2477 | 'membro': o membro de dados estáticos não pode ser inicializado através da classe derivada |
| Erro do compilador C2478 | A declaração é incompatível com 'instância' |
| Erro do compilador C2479 | 'identificador': 'allocate( )' só é válido para elementos de dados de extensão estática |
| Erro de compilador C2480 | 'identificador': 'thread' só é válido para elementos de dados de extensão estática |
| Erro do compilador C2481 | 'identifier': thread_local só é válido em membros estáticos e variáveis no namespace ou escopo de bloco |
| Erro do compilador C2482 | 'identifier': inicialização dinâmica de dados locais de thread não permitida no código gerenciado/WINRT |
| Erro de compilador C2483 | 'identificador': objeto com tipo destruidor ou não agregado não pode ser declarado com duração de armazenamento de thread em código gerenciado/WINRT |
| Erro de compilador C2485 | 'identificador': atributo estendido não reconhecido |
| Erro de compilador C2486 | '__LOCAL_SIZE' só permitido em função com o atributo 'naked' |
| Erro do compilador C2487 | 'Identificador': Membro da classe de interface DLL não pode ser declarado com interface DLL |
| Erro do compilador C2488 | 'identificador': 'naked' só pode ser aplicado a definições de função não-membro |
| Erro de compilador C2489 | 'identificador': variável automática ou de registro inicializada não permitida no âmbito da função na função 'naked' |
| Erro do compilador C2490 | 'palavra-chave' não permitida na função com o atributo 'naked' |
| Erro de compilador C2491 | 'identifier': definição da função dllimport não permitida |
| Erro do compilador C2492 | 'variável': dados com duração de armazenamento de thread podem não ter interface dll |
| Erro de compilador C2493 | forma ilegal de __based |
| Erro de compilador C2494 | 'palavra-chave' não pode ser chamada de dentro de uma expressão ou __finally/finally bloco de filtro |
| Erro do compilador C2495 | 'identificador': '__declspec(noexcept)' só pode ser aplicado a declarações ou definições de função |
| Erro de compilador C2496 | 'identificador': 'selectany' só pode ser aplicado a elementos de dados com ligação externa |
| Erro do compilador C2497 | 'identificador': 'implementation_key' só pode ser aplicado a declarações de função |
| Erro de compilador C2498 | 'função': 'novtable' só pode ser aplicado a declarações ou definições de classe |
| Erro do compilador C2499 | «classe»: uma classe não pode ser a sua própria classe de base |
Ver também
Erros e avisos do compilador C/C++ e das ferramentas de compilação
Erros do compilador C2001 - C3999, C7000 - C7999