Erros do compilador C2400 a C2499
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 C2400 | erro de sintaxe de assembler embutida em 'contexto'; 'token' encontrado |
Erro do compilador C2401 | 'identificador': o registro em 'contexto' deve ser base |
Erro do compilador C2402 | 'identificador': o registro em 'contexto' deve ser índice |
Erro do compilador C2403 | 'identificador': o registro deve ser base/índice em 'contexto' |
Erro do compilador C2404 | 'identificador': registro inválido em 'contexto' |
Erro do compilador C2405 | referência de encaminhamento short com deslocamento inválida |
Erro do compilador C2406 | 'identificador': nome não definido em 'contexto' |
Erro do compilador C2407 | registro 'float' inválido em 'contexto' |
Erro do compilador C2408 | tipo inválido no operador PTR em 'contexto' |
Erro do compilador C2409 | tipo inválido usado como operador em 'contexto' |
Erro do compilador C2410 | 'identificador': nome de membro ambíguo em 'contexto' |
Erro do compilador C2411 | 'identificador': struct/membro de união inválido em 'contexto' |
Erro do compilador C2412 | 'rótulo': rótulo que não diferencia maiúsculas de minúsculas redefinido |
Erro do compilador C2413 | 'identificador': tamanho de alinhamento inválido |
Erro do compilador C2414 | número de operandos inválido |
Erro do compilador C2415 | tipo de operando inadequado |
Erro do compilador C2416 | o 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 do compilador C2419 | mod por zero em 'contexto' |
Erro do compilador C2420 | 'identificador' : símbolo inválido em contexto |
Erro do compilador C2421 | Operador PTR usado com registro em 'contexto' |
Erro do compilador C2422 | substituição de segmento inválido em 'contexto' |
Erro do compilador C2423 | 'número': escala inválida |
Erro do compilador C2424 | 'token': expressão inadequada em 'contexto' |
Erro do compilador C2425 | 'token': expressão não constante em 'contexto' |
Erro do compilador C2426 | 'token': operador inválido em 'contexto' |
Erro do compilador C2427 | 'classe': não é possível definir a classe nesse escopo |
Erro do compilador C2428 | 'operação': não permitido no operando do tipo 'bool ' |
Erro do compilador C2429 | 'recurso de linguagem' exige sinalizador de compilador 'opção do compilador' |
Erro do compilador C2430 | mais de um registro de índice em 'contexto' |
Erro do compilador C2431 | registro de índice inválido em 'contexto' |
Erro do compilador C2432 | referência inválida a dados de 16-bit em 'contexto' |
Erro do compilador C2433 | 'identificador': 'modificador' não permitido em declarações de dados |
Erro do compilador C2434 | 'símbolo': um símbolo declarado com __declspec(process) não pode ser inicializado dinamicamente no modo /clr:pure |
Erro do compilador C2435 | 'var': inicialização dinâmica requer CRT gerenciado, não é possível compilar com /clr:safe |
Erro do compilador C2436 | 'identificador': função membro ou classe aninhada na lista de inicializadores de construtor |
Erro do compilador C2437 | 'identificador': já foi inicializado |
Erro do compilador C2438 | 'identificador': não é possível inicializar dados de classe static via construtor |
Erro do compilador C2439 | 'identificador': o membro não pôde ser inicializado |
Erro do compilador C2440 | 'conversão': não é possível converter do 'tipo_1' para o 'tipo_2' |
Erro do compilador C2441 | 'variável': um símbolo declarado com __declspec(process) deve ser const no modo /clr:pure |
Erro do compilador C2442 | 'identificador': a definição aninhada de namespace não pode ser embutida ou ter atributos |
Erro do compilador C2443 | conflito de tamanho de operando |
Erro do compilador C2444 | 'identificador': protótipo ANSI usado, encontrado 'type', esperado '{' ou ';' |
Erro do compilador C2446 | 'operador' : sem conversão de 'tipo_1' para 'tipo_2' |
Erro do compilador C2447 | '{': cabeçalho de função ausente (lista formal antiga?) |
Erro do compilador C2448 | 'identificador': o inicializador com estilo de função parece ser uma definição de função |
Erro do compilador C2449 | encontrado '{' no escopo de arquivo (faltando cabeçalho de função?) |
Erro do compilador C2450 | expressão switch do tipo 'tipo' é inválido |
Erro do compilador C2451 | expressão condicional do tipo 'tipo' é inválido |
Erro do compilador C2452 | 'tipo': tipo de origem inválido para safe_cast |
Erro do compilador C2453 | 'tipo': tipo de destino inválido para safe_cast |
Erro do compilador C2454 | 'identificador': nome do alias de namespace não pode ser declarado usando um nome qualificado |
Erro do compilador C2455 | 'classe' uma classe de ref WinRT que deriva de uma classe base importada não pode ser abstract. |
Erro do compilador C2456 | 'classe' uma classe ref não selada não pode ter um construtor visível público. Sele a classe ou especifique o construtor como 'internal ', 'protected private ' ou 'private '. |
Erro do compilador C2457 | 'identificador': a macro predefinida não pode aparecer fora de um corpo de função |
Erro do compilador C2458 | 'identificador': redefinição dentro da definição |
Erro do compilador C2459 | 'identificador': está sendo definido; não pode adicionar como um membro anônimo |
Erro do compilador C2460 | 'identificador_1': usa 'identificador_2', que está sendo definido |
Erro do compilador C2461 | 'classe': parâmetros formais ausentes na sintaxe do construtor |
Erro do compilador C2462 | 'identificador': não é possível definir um tipo em uma 'new-expression' |
Erro do compilador C2464 | 'tipo': não é possível usar 'new ' para alocar uma referência |
Erro do compilador C2465 | não é possível definir um tipo anônimo dentro de parênteses |
Erro do compilador C2466 | não é possível alocar uma matriz de dimensão constante 0 |
Erro do compilador C2467 | declaração inválida de 'tipo definido pelo usuário' anônimo |
Erro do compilador C2468 | o construtor não pode ser 'constexpr ' em uma classe ou struct com classes base virtuais |
Erro do compilador C2469 | 'new ': não é possível alocar objetos 'void ' |
Erro do compilador C2470 | 'função': parece uma definição de função, mas não há uma lista de parâmetros; ignorando um corpo aparente |
Erro do compilador C2471 | não é possível atualizar o 'nome do arquivo' do banco de dados do programa |
Erro do compilador C2472 | 'function' não pode ser gerado em código gerenciado: 'message'; compile com /clr para gerar uma imagem mista |
Erro do compilador C2473 | 'identificador': parece uma definição de função, mas não há nenhuma lista de parâmetros. |
Erro do compilador C2474 | 'identificador': um ponto-e-vírgula adjacente está ausente, poderia ser palavra-chave ou identificador. |
Erro do compilador C2475 | 'identificador': redefinição; incompatibilidade do especificador 'constexpr ' |
Erro do compilador C2477 | 'membro': um membro de dados estático não pode ser inicializado via classe derivada |
Erro do compilador C2478 | declaração é incompatível com 'instância' |
Erro do compilador C2479 | 'identificador': 'allocate( ) ' só é válido para itens de dados de extensão static |
Erro do compilador C2480 | 'identificador': 'thread ' só é válido para itens de dados de extensão static |
Erro do compilador C2481 | 'identificador': thread_local só é válido em membros static e variáveis em namespace ou escopo de bloco |
Erro do compilador C2482 | 'identificador': inicialização dinâmica de dados locais de thread não permitida em código gerenciado/WINRT |
Erro do compilador C2483 | 'identificador': objeto com destruidor ou tipo de não agregação não pode ser declarado com duração de armazenamento de thread em código gerenciado/WINRT |
Erro do compilador C2485 | 'identificador': o atributo estendido não foi reconhecido |
Erro do compilador C2486 | '__LOCAL_SIZE ' somente permitido na função com o atributo 'naked ' |
Erro do compilador C2487 | 'identificador': o membro da classe da interface dll não pode ser declarado com a interface dll |
Erro do compilador C2488 | 'identificador': 'naked ' só pode ser aplicado a definições de funções não membro |
Erro do compilador C2489 | 'identificador': variável auto ou register inicializada não permitida no escopo de função na função 'naked' |
Erro do compilador C2490 | 'palavra-chave' não permitida em uma função com atributo 'naked ' |
Erro do compilador C2491 | 'identificador': definição de 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 do compilador C2493 | forma inválida de __based |
Erro do compilador C2494 | 'palavra-chave' não pode ser chamado por meio de uma expressão de filtro ou de um bloco __finally /finally |
Erro do compilador C2495 | 'identificador': '__declspec(noexcept) ' só pode ser aplicado a declarações ou definições de função |
Erro do compilador C2496 | 'identificador': 'selectany ' só pode ser aplicado a itens de dados com vínculo externo |
Erro do compilador C2497 | 'identificador': 'implementation_key ' só pode ser aplicado a declarações de função |
Erro do compilador C2498 | 'função': 'novtable ' somente pode ser aplicado às definições ou declarações de classe |
Erro do compilador C2499 | 'classe': uma classe não pode ser sua própria classe base |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2001 - C3999, C7000 - C7999