Erros do compilador C3100 a C3199
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 C3100 | 'identifier': qualificador de atributo desconhecido |
Erro do compilador C3101 | expressão inválida para argumento de atributo nomeado 'identifier' |
Erro do compilador C3102 | Obsoleto. |
Erro do compilador C3103 | 'identificador': argumento nomeado repetido |
Erro do compilador C3104 | argumento de atributo inválido |
Erro do compilador C3105 | 'symbol': não pode ser usado como um atributo |
Erro do compilador C3106 | 'attribute': argumentos sem nome devem preceder argumentos nomeados |
Erro do compilador C3107 | 'attribute': funções membro de atributos nativos não podem ser definidas |
Erro do compilador C3108 | não é possível deduzir um tipo porque uma lista de inicializadores não é uma expressão |
Erro do compilador C3109 | 'identifier': métodos de interface devem usar a convenção de chamada '__stdcall' ou '__cdecl' |
Erro do compilador C3110 | 'function': você não pode sobrecarregar um método de interface COM |
Erro do compilador C3111 | Não é possível usar uma lista de inicializadores como o argumento padrão para um parâmetro de modelo |
Erro do compilador C3112 | 'interface': uma interface só pode ser declarada em escopo global ou de namespace |
Erro do compilador C3113 | uma 'interface/enum' não pode ser um modelo/genérico |
Erro do compilador C3114 | 'identifier': não é um argumento de atributo nomeado válido |
Erro do compilador C3115 | 'attribute': este atributo não é permitido em 'construct' |
Erro do compilador C3116 | 'specifier': classe de armazenamento inválida para o método de interface |
Erro do compilador C3117 | 'interface': uma interface só pode ter uma classe base |
Erro do compilador C3118 | 'interface': interfaces não dão suporte à herança virtual |
Erro do compilador C3119 | alignas(void) não é permitido |
Erro do compilador C3120 | 'identifier': os métodos de interface não podem receber uma lista de argumentos variáveis |
Erro do compilador C3121 | não pode alterar o GUID para a classe 'class' |
Erro do compilador C3122 | 'interface': uma interface genérica WinRT não pode ter GUID |
Erro do compilador C3123 | Uma interface genérica WinRT não pode ter restrições |
Erro do compilador C3124 | 'signed char' não é um tipo de dados WinRT válido. Use 'unsigned char', 'wchar_t' ou 'signed short' em vez disso. |
Erro do compilador C3125 | 'type': tipo não pode derivar direta ou indiretamente de 'Platform::Exception' |
Erro do compilador C3126 | não é possível definir uma união 'union' dentro do tipo gerenciado/WinRT 'type' |
Erro do compilador C3127 | 'type': característica 'trait' só pode ser usada em uma classe de referência WinRT |
Erro do compilador C3128 | 'type' não tem uma vtable introduzida por 'type' |
Erro do compilador C3129 | 'type': __default_vptr_for_base só pode ser usado em tipos e bases polimórficos definidos localmente |
Erro do compilador C3130 | Erro Interno do Compilador: falha ao gravar o bloco de código injetado no PDB |
Erro do compilador C3131 | o projeto deve ter um atributo 'module' com uma propriedade 'name' |
Erro do compilador C3132 | 'parameter': matrizes de parâmetro somente podem ser aplicadas a um argumento formal de tipo 'matriz gerenciada/WinRT de dimensão única' |
Erro do compilador C3133 | Atributos não podem ser aplicados a varargs do C++ |
Erro do compilador C3134 | 'value': o valor do argumento de atributo 'argument' não possui um tipo 'type' válido |
Erro do compilador C3135 | 'identifier': uma propriedade não pode ter um tipo 'const' ou 'volatile' |
Erro do compilador C3136 | 'interface': uma interface COM só pode herdar de outra interface COM, 'interface' não é uma interface COM |
Erro do compilador C3137 | 'identifier': uma propriedade não pode ser inicializada |
Erro do compilador C3138 | 'identifier': uma interface 'attribute' precisa herdar de IDispatch ou de uma interface que herda de IDispatch |
Erro do compilador C3139 | 'type': não é possível exportar um UDT (tipo definido pelo usuário) sem membros |
Erro do compilador C3140 | não é possível ter vários atributos 'module' na mesma unidade de compilação |
Erro do compilador C3141 | 'interface': interfaces só dão suporte à herança pública |
Erro do compilador C3142 | 'property': você não pode usar o endereço de uma propriedade |
Erro do compilador C3143 | 'argument': argumento de atributo não pode possuir múltiplos valores |
Erro do compilador C3144 | 'attribute': atributo requer argumentos explícitos, 'argumento' não tem nome |
Erro do compilador C3145 | 'identifier': variável global ou estática pode não possuir o tipo 'type' gerenciado/WinRT |
Erro do compilador C3146 | Obsoleto. |
Erro do compilador C3147 | Obsoleto. |
Erro do compilador C3148 | Obsoleto. |
Erro do compilador C3149 | 'type': não é possível usar este tipo aqui sem um 'token' de alto nível |
Erro do compilador C3150 | 'construct': 'attribute' só pode ser aplicado a uma classe, struct, interface, matriz ou ponteiro |
Erro do compilador C3151 | Obsoleto. |
Erro do compilador C3152 | 'function': 'keyword' só pode ser aplicado a uma classe, struct ou função de membro virtual |
Erro do compilador C3153 | 'interface': você não pode criar uma instância de uma interface |
Erro do compilador C3154 | ',' esperado antes das reticências. Não há suporte para reticências não separadas por vírgulas em funções de matriz de parâmetros. |
Erro do compilador C3155 | atributos não são permitidos em um indexador de propriedades |
Erro do compilador C3156 | 'class': não é possível ter uma definição local de um tipo gerenciado/WinRT |
Erro do compilador C3157 | atributo ParamArray só pode ser aplicado ao último parâmetro |
Erro do compilador C3158 | 'function': 'keyword' só pode ser aplicado a uma função de membro virtual |
Erro do compilador C3159 | 'identifier': matriz de ponteiros para o tipo de valor não pode ser declarada |
Erro do compilador C3160 | 'type': um membro de dados de uma classe gerenciada/WinRT não pode ter esse tipo |
Erro do compilador C3161 | 'interface': aninhar classe, struct ou interface em uma interface é inválido; A interface de aninhamento em uma classe ou struct é inválido |
Erro do compilador C3162 | 'type' : um tipo de referência que possui um destruidor não pode ser usado como um tipo de membro de dados estáticos 'member' |
Erro do compilador C3163 | 'class': atributos inconsistentes com declaração anterior |
Erro do compilador C3164 | Obsoleto. |
Erro do compilador C3165 | 'value': não é possível converter para um valor de ponto integral ou flutuante |
Erro do compilador C3166 | Obsoleto. 'type': um membro de dados de uma classe gerenciada/WinRT não pode ter o tipo 'pointer_type para managed_pointer_type interior' |
Erro do compilador C3167 | Não é possível inicializar .NET Framework: verifique se está instalado |
Erro do compilador C3168 | 'type': tipo subjacente inválido para enumeração |
Erro do compilador C3169 | 'type': não consegue deduzir o tipo para 'auto' de 'type' |
Erro do compilador C3170 | não é possível ter identificadores de módulo diferentes em um projeto |
Erro do compilador C3171 | 'module': não é possível especificar os diferentes atributos do módulo em um projeto |
Erro do compilador C3172 | 'identifier': não é possível especificar atributos de idl_module diferentes em um projeto |
Erro do compilador C3173 | incompatibilidade de versão na mesclagem idl |
Erro do compilador C3174 | o atributo module não foi especificado |
Erro do compilador C3175 | 'function': não é possível chamar um método de um tipo gerenciado da função não gerenciada 'function' |
Erro do compilador C3176 | 'type': não é possível declarar o tipo de valor local |
Erro do compilador C3177 | você não pode ter uma função de conversão em um tipo que contém 'type' (Obsoleto no Visual Studio 2022). |
Erro do compilador C3178 | 'type': não é possível usar o ParamArray em uma função com argumentos padrão (Obsoleto no Visual Studio 2022). |
Erro do compilador C3179 | um tipo gerenciado/WinRT sem nome não é permitido |
Erro do compilador C3180 | 'type': nome excede limite de metadados de 'number' caracteres |
Erro do compilador C3181 | 'type': operando inválido para operador |
Erro do compilador C3182 | 'type' : using-declaration ou declaração de acesso membro é inválida dentro de um tipo gerenciado/WinRT |
Erro do compilador C3183 | não é possível definir class, struct ou union sem nome dentro do tipo 'class' gerenciado/WinRT |
Erro do compilador C3184 | Obsoleto. |
Erro do compilador C3185 | 'typeid': usado no tipo 'type' gerenciado/WinRT, use 'operator' em vez disso |
Erro do compilador C3186 | Obsoleto. |
Erro do compilador C3187 | 'identifier' : só está disponível dentro do corpo de uma função |
Erro do compilador C3188 | Obsoleto. |
Erro do compilador C3189 | 'typeid<declarator>': essa sintaxe não tem mais suporte, use::typeid em vez disso (Obsoleto no Visual Studio 2022). |
Erro do compilador C3190 | 'declarator' com os argumentos de modelo fornecidos não é a instanciação explícita de nenhuma função membro de 'type' |
Erro do compilador C3191 | Obsoleto. |
Erro do compilador C3192 | erro de sintaxe: '^' não é um operador de prefixo (você quis dizer '*' ?) |
Erro do compilador C3193 | 'construct': requer a opção de linha de comando '/clr' ou '/ZW' |
Erro do compilador C3194 | 'type': um tipo de valor não pode possuir um operador de atribuição |
Erro do compilador C3195 | 'keyword': é reservada e não pode ser usada como membro de uma classe ref ou tipo de valor. Operadores CLR/WinRT precisam ser definidos usando a palavra-chave 'operator' |
Erro do compilador C3196 | 'identificador': usado mais de uma vez |
Erro do compilador C3197 | 'palavra-chave': só pode ser usada em definições |
Erro do compilador C3198 | uso inválido de pragmas de ponto flutuante: o pragma fenv_access opera apenas em modo preciso |
Erro do compilador C3199 | uso inválido de pragmas de ponto flutuante: não há suporte para exceções no modo não preciso |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2000 a C3999, C7000 a C7999