Compartilhar via


Erros do compilador C3000 a C3099

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 C3000 'symbol': o uso do modelo de classe requer a lista de argumentos de modelo. A dedução de argumento não é permitida no membro de dados não estáticos.
Erro do compilador C3001 message”: esperado um nome de diretiva de OpenMP
Erro do compilador C3002 'name1 name2': vários nomes de diretiva OpenMP
Erro do compilador C3003 directive”: nome da diretiva OpenMP não permitido após as cláusulas da diretiva
Erro do compilador C3004 'clause': cláusula não válida na diretiva OpenMP 'directive'
Erro do compilador C3005 'message': token inesperado encontrado na diretiva “directive” do OpenMP
Erro do compilador C3006 A cláusula 'clause': na diretiva 'directive' do OpenMP não tem um argumento esperado
Erro do compilador C3007 A cláusula 'clause': na diretiva 'directive' do OpenMP não aceita um argumento
Erro do compilador C3008 O argumento 'argument': não tem um ')' de fechamento na diretiva 'directive' do OpenMP
Erro do compilador C3009 label”: salto para o bloco estruturado OpenMP não permitido
Erro do compilador C3010 label”: saída do bloco estruturado de OpenMP não permitido
Erro do compilador C3011 assembly embutido não permitido diretamente dentro de uma região parallel
Erro do compilador C3012 function”: função intrínseca não permitida diretamente dentro de uma região parallel
Erro do compilador C3013 'clause': a cláusula só pode aparecer uma vez na diretiva “directive” do OpenMP
Erro do compilador C3014 esperado um loop for seguindo a diretiva “directive” do OpenMP
Erro do compilador C3015 inicialização em instrução de OpenMP 'for' possui forma inadequada
Erro do compilador C3016 identifier”: variável de índice na instrução OpenMP 'for' deve ter um tipo integral assinado
Erro do compilador C3017 o teste de terminação na instrução de OpenMP 'for' possui forma inadequada
Erro do compilador C3018 'identifier': um teste ou incremento de 'for' do OpenMP precisa usar a variável de índice 'variable'
Erro do compilador C3019 incremento em instrução OpenMP 'for' tem uma forma inadequada
Erro do compilador C3020 variable”: variável de índice de loop OpenMP 'for' não pode ser modificada no corpo do loop
Erro do compilador C3021 'argument': o argumento está vazio na diretiva OpenMP 'directive'
Erro do compilador C3022 'directive': tipo de agendamento inválido de 'directive' na diretiva 'directive' do OpenMP
Erro do compilador C3023 'argument': token inesperado encontrado no argumento para a cláusula 'directive' de OpenMP
Erro do compilador C3024 'schedule(runtime)': expressão chunk_size não é permitida
Erro do compilador C3025 'clause': expressão integral esperada
Erro do compilador C3026 'clause': a expressão de constante deve ser positiva
Erro do compilador C3027 'clause': expressão aritmética ou de ponteiro esperada
Erro do compilador C3028 'member': somente um membro de dados estático ou variável pode ser usado em uma cláusula de compartilhamento de dados
Erro do compilador C3029 'symbol': só pode aparecer uma vez em cláusulas de compartilhamento de dados em uma diretiva OpenMP
Erro do compilador C3030 A variável 'identifier': na cláusula/diretiva 'directive' não pode ter um tipo de referência
Erro do compilador C3031 'identifier': variável em cláusula 'reduction' deve possuir tipo aritmético escalar
Erro do compilador C3032 A variável 'identifier': na cláusula 'clause' não pode ter o tipo incompleto 'type'
Erro do compilador C3033 A variável 'identifier': na cláusula 'clause' não pode ter um tipo qualificado por const
Erro do compilador C3034 A diretiva 'directive' do OpenMP não pode ser aninhada diretamente na diretiva 'directive'
Erro do compilador C3035 diretiva de OpenMP 'ordered' deve ligar-se diretamente a uma diretiva 'for' ou 'parallel for' com a cláusula 'ordered'
Erro do compilador C3036 'clause': token de operador inválido em cláusula de OpenMP 'reduction'
Erro do compilador C3037 'identifier': a variável na cláusula 'clause' deve ser compartilhada no contexto delimitador
Erro do compilador C3038 'identifier': a variável em cláusula 'private' não pode ser uma variável de reduction em contexto delimitador
Erro do compilador C3039 'identifier': variável de índice na instrução 'for' OpenMP não pode ser uma variável de redução
Erro do compilador C3040 'identifier': o tipo de variável na cláusula 'reduction' é incompatível com o operador de redução 'operator'
Erro do compilador C3041 'identifier': a variável na cláusula 'copyprivate' precisa ser privada no contexto delimitador
Erro do compilador C3042 As cláusulas 'copyprivate' e 'nowait' não podem aparecer juntas na diretiva 'directive' de OpenMP
Erro do compilador C3043 A diretiva 'critical' do OpenMP não pode ser aninhada na diretiva 'critical' com o mesmo nome
Erro do compilador C3044 'section': permitida apenas aninhada diretamente sob uma diretiva 'sections' de OpenMP
Erro do compilador C3045 Uma instrução composta esperada seguindo a diretiva de “seções” do OpenMP. Ausente '{'
Erro do compilador C3046 Bloco estruturado ausente em uma região de OpenMP '#pragma omp sections'
Erro do compilador C3047 Bloco estruturado em uma região de OpenMP 'sections' deve ser precedido por '#pragma omp section' (obsoleto no Visual Studio 2022.)
Erro do compilador C3048 Expressão após '#pragma omp atomic' possui forma inadequada
Erro do compilador C3049 'argument': argumento inválido na cláusula 'default' do OpenMP
Erro do compilador C3050 'class': uma ref class não pode herdar de 'identifier'
Erro do compilador C3051 Obsoleto.
Erro do compilador C3052 'identifier': variável não aparece em uma cláusula de compartilhamento de dados sob uma cláusula default(none)
Erro do compilador C3053 'identifier': 'threadprivate' é válido apenas para itens de dados globais ou estáticos
Erro do compilador C3054 Atualmente, não há suporte para '#pragma paralelo omp' em uma classe ou função genérica (obsoleto no Visual Studio 2022.)
Erro do compilador C3055 'identifier': o símbolo não pode ser referenciado antes de ser usado na diretiva 'threadprivate'
Erro do compilador C3056 'identifier': símbolo não está no mesmo escopo da diretiva 'threadprivate'
Erro do compilador C3057 'identifier': a inicialização dinâmica de símbolos 'threadprivate' não é compatível atualmente
Erro do compilador C3058 'identifier': símbolo não declarado como 'threadprivate' antes de ser usado na cláusula 'copyin'
Erro do compilador C3059 'identifier': 'threadprivate' symbol não pode ser usado na cláusula 'clause'
Erro do compilador C3060 'identifier': uma função friend pode não ser definida dentro de uma classe usando um nome qualificado (só pode ser declarada)
Erro do compilador C3061 Operador 'operator': não permitido na enumeração 'type' com o tipo subjacente 'type'
Erro do compilador C3062 'identifier': o enumerador requer um valor, pois o tipo subjacente é 'type'
Erro do compilador C3063 operator 'operator': todos os operandos devem ter o mesmo tipo de enumeração
Erro do compilador C3064 'identifier': deve ser um tipo simples ou resolver para um
Erro do compilador C3065 declaração de propriedade em escopo diferente de classe não é permitida
Erro do compilador C3066 há várias maneiras de chamar um objeto deste tipo com estes argumentos
Erro do compilador C3067 não é possível usar uma lista de inicializadores com o operador interno[]
Erro do compilador C3068 'identifier': uma função 'naked' não pode conter objetos que exigiriam desenrolamento se uma exceção C++ ocorresse
Erro do compilador C3069 o operador 'operator': não permitido para tipos de enumeração
Erro do compilador C3070 'identifier': a propriedade não tem um método 'set'
Erro do compilador C3071 o operador 'operator' só pode ser aplicado a uma instância de uma ref class ou de um tipo value
Erro do compilador C3072 o operador 'operator' não pode ser aplicado a uma instância de uma ref class. Use o operador unário '%' para converter uma instância de uma ref class em um tipo de identificador
Erro do compilador C3073 'identifier': a ref class não possui um construtor de cópia definido pelo usuário
Erro do compilador C3074 não é possível inicializar uma matriz com um inicializador entre parênteses
Erro do compilador C3075 'identifier': não é possível inserir uma instância de um tipo de referência, 'type', em um tipo de valor
Erro do compilador C3076 'identifier': não é possível inserir uma instância de um tipo de referência, 'type', em um tipo nativo
Erro do compilador C3077 'identifier': um finalizador só pode ser um membro de um tipo de referência
Erro do compilador C3078 o tamanho da matriz deve ser especificado em novas expressões
Erro do compilador C3079 não é possível usar uma lista de inicializadores como operando direito deste operador de atribuição
Erro do compilador C3080 'finalizer': um finalizador não pode possuir um especificador de classe de armazenamento
Erro do compilador C3081 Obsoleto.
Erro do compilador C3082 Obsoleto.
Erro do compilador C3083 'identifier': o símbolo à esquerda de um “::” deve ser um tipo
Erro do compilador C3084 'identifier': um destruidor/finalizador não pode ser 'keyword'
Erro do compilador C3085 'identifier': um construtor não pode ser 'keyword'
Erro do compilador C3086 não é possível localizar 'std::initializer_list': você precisa #include <initializer_list>
Erro do compilador C3087 'identifier': chamada de 'declaration' já inicializa esse membro
Erro do compilador C3088 'class': construtor de atributos deve possuir argumentos formais nomeados
Erro do compilador C3089 'identifier': nome de parâmetro não corresponde a nenhum nome de membro de dados
Erro do compilador C3090 'class': classe de atributo não pode ser um modelo
Erro do compilador C3091 'class': classe de atributo não pode possuir classes base
Erro do compilador C3092 'class': o membro de classe de atributo não pode ser um campo de bits, 'static' ou 'const'
Erro do compilador C3093 'type': tipo não permitido para membro de classe de atributo 'member'
Erro do compilador C3094 'attribute': o uso anônimo não é permitido
Erro do compilador C3095 'attribute': o atributo não pode ser repetido
Erro do compilador C3096 'attribute': atributo é permitido apenas em membros de dados de classes de atributo
Erro do compilador C3097 'attribute': atributo deve ter escopo definido com 'assembly:' ou 'module:'
Erro do compilador C3098 'identifier': atributo não possui construtores definidos pelo usuário
Erro do compilador C3099 'keyword': use [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute] para atributos gerenciados/WinRT

Confira também

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