Compartilhar via


Erros do compilador C3400 a C3499

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 C3400 dependência de restrição circular envolvendo 'constraint1' e 'constraint2'
Erro do compilador C3401 'specifier': especificador de acesso de assembly inválido - somente 'privado' é permitido em modelos de classe
Erro do compilador C3402 'function': não pode resolver sobrecarga exceto no escopo atual
Erro do compilador C3403 thread_local não pode ser usado com /clr:pure ou /clr:safe
Erro do compilador C3404 'construct': erro de sintaxe inesperado
Erro do compilador C3405 'function': não pode resolver sobrecarga sem descritor completo
Erro do compilador C3406 'keyword': não pode ser usado em um especificador de tipo elaborado
Erro do compilador C3407 'type' não pode ser usado neste contexto
Erro do compilador C3408 'attribute': o atributo não é permitido nas definições de modelo
Erro do compilador C3409 Não é permitido bloco de atributos vazio
Erro do compilador C3410 'identifier': o tipo da instanciação explícita 'type' não corresponde ao tipo do modelo de variável 'type'
Erro do compilador C3411 'type' não é válido como o tamanho de uma matriz, pois não é um tipo inteiro
Erro do compilador C3412 'specialization': não pode especializar o modelo no escopo atual
Erro do compilador C3413 'template': instanciação explícita inválida
Erro do compilador C3414 'function': a função membro importada não pode ser definida
Erro do compilador C3415 múltiplas seções 'section' encontradas com atributos diferentes ('0xvalue')
Erro do compilador C3416 Obsoleto.
Erro do compilador C3417 'declarator': tipos de valor não podem conter funções de membro especiais definidas pelo usuário
Erro do compilador C3418 especificador de acesso 'specifier' não é compatível
Erro do compilador C3419 Obsoleto.
Erro do compilador C3420 'function': um finalizador não pode ser virtual
Erro do compilador C3421 'function': você não pode chamar o finalizador para esta classe, pois ele está inacessível ou não existe
Erro do compilador C3422 'declaration': tipos incompatíveis 'type' e 'type'
Erro do compilador C3423 Obsoleto.
Erro do compilador C3424 'type': uma conversão de estilo de função para um tipo de matriz não é permitida
Erro do compilador C3425 não é possível lançar um ponteiro para objeto de tipo incompleto 'type'
Erro do compilador C3426 não é possível lançar objeto de tipo incompleto 'type'
Erro do compilador C3427 'context': 'keyword' não pode ser usado com layout_version(number)
Erro do compilador C3428 'context': 'keyword' só pode ser aplicado a declarações ou definições de classe
Erro do compilador C3429 'context': 'keyword' não pode ser aplicado a uma união
Erro do compilador C3430 uma enumeração com escopo deve ter um nome
Erro do compilador C3431 'identifier': type1 não pode ser redeclarado como type2
Erro do compilador C3432 'identifier': uma declaração de encaminhamento de uma enumeração sem escopo deve ter um tipo subjacente
Erro do compilador C3433 'identifier': todas as declarações de uma enumeração devem ter o mesmo tipo subjacente, era 'type1', agora é 'type2'
Erro do compilador C3434 'context': o valor do enumerador 'number' não pode ser representado como 'type', o valor é 'number'
Erro do compilador C3435 o conjunto de caracteres 'name' não é compatível.
Erro do compilador C3436 Quando /source-charset, /execution-charset ou /utf-8 for especificado, #pragma setlocale não será compatível
Erro do compilador C3437 Quando /source-charset, /execution-charset ou /utf-8 for especificado, #pragma execution_character_set não será compatível
Erro do compilador C3438 'context': 'value' não pode ser aplicado a uma classe gerenciada/WinRT
Erro do compilador C3439 layout_version(number): número de versão inválido
Erro do compilador C3440 'declaration': layout_version(number) incompatível com uma declaração anterior
Erro do compilador C3441 'declaration': 'keyword' não pode ser aplicado após a definição da classe
Erro do compilador C3442 Inicializando múltiplos membros da união: 'member1' e 'member2'
Erro do compilador C3443 O inicializador de membro padrão para 'class' é recursivo
Erro do compilador C3444 A classe agregada vazia 'class' deve ser inicializada com '{}'
Erro do compilador C3445 a inicialização da lista de cópia de 'type' não pode usar um construtor explícito
Erro do compilador C3446 classe”: um inicializador de membro padrão não é permitido para um membro de uma classe de valor
Erro do compilador C3447 operand para o operador condicional ?: é do tipo 'void', mas other-operand não é uma expressão throw nem do tipo 'void'
Erro do compilador C3448 o número de identificadores deve corresponder ao número de elementos ou membros da matriz em uma declaração de associação estruturada
Erro do compilador C3449 o número de identificadores deve corresponder ao valor de std::tuple_size<type-name>::value em uma associação estruturada do tipo tupla
Erro do compilador C3450 'type': não é um atributo; não é possível especificar [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute]
Erro do compilador C3451 'attribute': não pode aplicar atributo não gerenciado a 'type'
Erro do compilador C3452 membro de argumento de lista não constante
Erro do compilador C3453 'attribute': atributo não foi aplicado porque o qualificador 'qualifier' não é correspondente
Erro do compilador C3454 [atributo] não permitido na declaração de classe
Erro do compilador C3455 'attribute': nenhum dos construtores de atributo correspondeu aos argumentos
Erro do compilador C3456 [source-annotation-attribute] não permitido na declaração de classe gerenciada/WinRT
Erro do compilador C3457 'attribute': o atributo não suporta argumentos sem nome
Erro do compilador C3458 '[attribute]': atributo '[attribute]' já especificado para 'identifier'
Erro do compilador C3459 '[attribute]': atributo permitido apenas no indexador de classe (propriedade indexada padrão)
Erro do compilador C3460 'type': somente um tipo definido pelo usuário pode ser encaminhado
Erro do compilador C3461 'type': somente um tipo gerenciado/WinRT pode ser encaminhado
Erro do compilador C3462 'type': somente um tipo importado pode ser encaminhado
Erro do compilador C3463 'type': tipo não permitido no atributo 'implements'
Erro do compilador C3464 'type' um tipo aninhado não pode ser encaminhado
Erro do compilador C3465 para usar o tipo 'type', você deve fazer referência ao assembly 'assembly'
Erro do compilador C3466 'type': uma especialização de uma classe genérica não pode ser encaminhada
Erro do compilador C3467 'type': este tipo já foi encaminhado
Erro do compilador C3468 'type': você só pode encaminhar um tipo para um assembly: 'identifier' não é um assembly
Erro do compilador C3469 'type': uma classe genérica não pode ser encaminhada
Erro do compilador C3470 'class': uma classe não pode ter um indexador (propriedade indexada padrão) e um operador[]
Erro do compilador C3471 novo nome do módulo module-name (definido na linha de comando) está em conflito com o nome anterior module-name
Erro do compilador C3472 novo nome de arquivo de saída filename (definido na linha de comando) está em conflito com o nome de arquivo anterior filename
Erro do compilador C3473 nenhum caminho de saída ou nome de módulo especificado.
Erro do compilador C3474 não foi possível abrir o arquivo de saída 'filename'
Erro do compilador C3475 erro de sintaxe no arquivo de entrada 'filename'
Erro do compilador C3476 não foi possível abrir o arquivo 'filename' para entrada
Erro do compilador C3477 um lambda não pode aparecer em um contexto não avaliado
Erro do compilador C3478 'identifier': uma matriz não pode ser capturada por cópia
Erro do compilador C3479 Anotações SAL em lambdas não são compatíveis
Erro do compilador C3480 'variable': uma variável de captura lambda deve ser de um escopo de função delimitadora
Erro do compilador C3481 'identifier': variável de captura lambda não encontrada
Erro do compilador C3482 'this' só pode ser usado como uma captura de lambda dentro de uma função membro não static
Erro do compilador C3483 'identifier' já faz parte da lista de captura lambda
Erro do compilador C3484 erro de sintaxe: esperado '->' antes do tipo de retorno
Erro do compilador C3485 uma definição lambda não pode ter qualificadores cv (obsoleto no Visual Studio 2022).
Erro do compilador C3486 um parâmetro para um lambda não pode ter um argumento padrão (obsoleto no Visual Studio 2022).
Erro do Compilador C3487 'type': todas as expressões de retorno devem deduzir para o mesmo tipo: anteriormente era 'type'
Erro do compilador C3488 '&identifier' não é permitido quando o modo de captura padrão é por referência
Erro do compilador C3489 '&identifier' é necessário quando o modo de captura padrão é por cópia
Erro do compilador C3490 'identifier' não pode ser modificado porque está sendo acessado por meio de um objeto const
Erro do compilador C3491 'identifier': uma captura por cópia não pode ser modificada em um lambda não mutável
Erro do compilador C3492 'identifier': você não pode capturar um membro de uma união anônima
Erro do compilador C3493 'identifier' não pode ser capturado implicitamente porque nenhum modo de captura padrão foi especificado
Erro do compilador C3494 'this' não pode ser capturado explicitamente porque um modo de captura envolvente não o permite
Erro do compilador C3495 'identifier': identificador na captura deve ser uma variável com duração de armazenamento automática declarada no escopo de alcance do lambda
Erro do compilador C3496 'this' é sempre capturado pelo valor: '&' ignorado
Erro do compilador C3497 você não pode construir uma instância de um lambda
Erro do compilador C3498 'identifier': você não pode capturar uma variável que tenha um tipo gerenciado/WinRT
Erro do compilador C3499 um lambda que foi especificado para ter um tipo de retorno void não pode retornar um valor

Confira também

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