Compartilhar via


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