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