Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 resolver vários erros subsequentes.
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ê tiver desembarcado nesta página e achar que a mensagem de erro ou aviso precisa de explicação adicional, informe-nos usando os botões de comentários nesta página. 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 Problemaou envie uma sugestão usando Ajuda > Enviar Comentários > Sugerir um recurso. 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 em fóruns do Microsoft Q&A C++. 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 C2200 | 'função': a função já foi definida |
| Erro do compilador C2201 | 'identificador': precisa ter vínculo externo para poder ser exportado/importado |
| Erro do compilador C2202 | 'função': nem todos os caminhos de controle retornam um valor |
| Erro do compilador C2203 | O operador delete não pode especificar limites para uma matriz |
| Erro do compilador C2204 | 'tipo': definição de tipo encontrada dentro dos parênteses |
| Erro do compilador C2205 | 'identificador': não é possível inicializar variáveis extern com escopo de bloco |
| Erro do compilador C2206 | 'função': typedef não pode ser usado para definição de funções |
| Erro do compilador C2207 | 'membro':um membro de um modelo de classe não é capaz de adquirir um tipo de função |
| Erro do compilador C2208 | 'tipo': nenhum membro definido usando este tipo |
| Erro do compilador C2209 | 'identificador': não é possível usar aliases em declarações de construtor |
| Erro do compilador C2210 | 'identificador': expansões do pacote não podem ser usadas como argumentos para parâmetros fora do pacote nos modelos de alias |
| Erro do compilador C2211 | Um destruidor não virtual em uma classe ref derivado de uma classe ref com um destruidor público também deve ser público |
| Erro do compilador C2212 | 'identificador': __based não disponível a ponteiros para funções |
| Erro do compilador C2213 | 'identificador': argumento ilegal para __based |
| Erro do compilador C2214 | ponteiros com base em 'void' requerem o uso de:> |
| Erro do compilador C2215 | 'palavra-chave' não pode ser usado com '/arch:SSE' |
| Erro do compilador C2216 | 'palavra-chave1': não pode ser usado com 'palavra-chave2' |
| Erro do compilador C2217 | 'atributo1': exige 'atributo2' |
| Erro do compilador C2218 | 'tipo_de_chamada' não pode ser usado com '/arch:IA32' |
| Erro do compilador C2219 | erro de sintaxe: o qualificador de tipo deve estar depois de '*' |
| Erro do compilador C2220 | o aviso a seguir é tratado como um erro |
| Erro do compilador C2221 | Obsoleto. |
| Erro do compilador C2222 | tipo 'tipo' inesperado: esperava-se um membro ou uma classe base |
| Erro do compilador C2223 | esquerda de '->identificador' deve apontar para struct/união |
| Erro do compilador C2224 | à esquerda de '.identificador' deve ter tipo struct/união |
| Erro do compilador C2225 | Obsoleto. |
| Erro do compilador C2226 | erro de sintaxe: tipo 'tipo' inesperado |
| Erro do compilador C2227 | esquerda de '->identificador' deve apontar para classe/struct/união/tipo genérico |
| Erro do compilador C2228 | à esquerda de '.identificador', precisa ter classe/struct/união |
| Erro do compilador C2229 | 'tipo' de classe/struct/união tem uma matriz de dimensão zero ilegal |
| Erro do compilador C2230 | não foi possível encontrar o módulo 'nome' |
| Erro do compilador C2231 | '. identificador': operando à esquerda aponta para 'class/struct/union', use '->' |
| Erro do compilador C2232 | '->identificador': operando à esquerda tem o tipo 'class/struct/union', use '.' |
| Erro do compilador C2233 | 'identificador': matrizes de objetos contendo matrizes de dimensão zero são inválidas |
| Erro do compilador C2234 | identificador': matrizes de referência são inválidas |
| Erro do compilador C2235 | arquitetura de destino incompatível para a interface de módulo compilada para "arquitetura 1" de "arquitetura 2" |
| Erro do compilador C2236 | token 'token' inesperado. Esqueceu um ';'? |
| Erro do compilador C2237 | declaração de vários módulos |
| Erro do compilador C2238 | token(s) inesperado(s) precedendo 'token' |
| Erro do compilador C2239 | 'função': tentando excluir uma função __declspec(dllexport) |
| Erro do compilador C2240 | Obsoleto. |
| Erro do compilador C2241 | 'identificador': o acesso a membro é restrito |
| Erro do compilador C2242 | nome do typedef não pode vir após class/struct/union |
| Erro do compilador C2243 | 'tipo_de_conversão': a conversão de 'tipo1' para 'tipo2' existe, mas é inacessível |
| Erro do compilador C2244 | 'identificador': não é possível corresponder a definição de função a uma declaração existente |
| Erro do compilador C2245 | função membro inexistente 'função' especificada como amiga (a assinatura da função membro não corresponde a nenhuma sobrecarga) |
| Erro do compilador C2246 | 'identificador': membro de dados estático inválido em classe definida localmente |
| Erro do compilador C2247 | 'identificador' não acessível porque 'classe1' usa 'especificador' para herdar de 'classe2' |
| Erro do compilador C2248 | 'identificador': não é possível acessar membro deacessibilidade declarado na classe 'classe' |
| Erro do compilador C2249 | 'identificador': nenhum caminho acessível para o membro de acessibilidade declarado na 'classe' de base virtual |
| Erro do compilador C2250 | 'identificador': herança ambígua de 'classe::membro' |
| Erro do compilador C2251 | O namespace 'namespace' não possui um membro 'identifier' – Você quis dizer 'membro'? |
| Erro do compilador C2252 | uma instanciação explícita de um modelo só pode ocorrer em escopo de namespace |
| Erro do compilador C2253 | 'função': especificador puro ou especificador de sobrescrição abstrato permitido apenas em função virtual |
| Erro do compilador C2254 | 'identificador': especificador pure ou especificador de substituição abstract não permitido em função amiga |
| Erro do compilador C2255 | 'elemento': não permitido fora de uma definição de classe |
| Erro do compilador C2256 | uso ilegal do especificador friend em 'função' |
| Erro do compilador C2257 | 'especificador': especificador não permitido em tipo de retorno posposto |
| Erro do compilador C2258 | sintaxe pure inválida, precisa ser '= 0' |
| Erro do compilador C2259 | 'classe': não é possível criar uma instância de classe abstrata |
| Erro do compilador C2260 | 'especificador': especificador de assembly amigável InternalsVisibleToAttribute inválido |
| Erro do compilador C2261 | 'cadeia de caracteres': a referência de assembly é inválida e não pode ser resolvida |
| Erro do compilador C2262 | 'especificador': declarações InternalsVisibleTo não podem possuir uma versão, uma cultura, ou uma arquitetura de processador especificada |
| Erro do compilador C2263 | 'nome do módulo': uma unidade de tradução não pode ser importada para si mesma |
| Erro do compilador C2264 | 'função': erro na definição ou na declaração da função; função não chamada |
| Erro do compilador C2265 | Obsoleto. |
| Erro do compilador C2266 | 'identificador': referência a uma matriz de limite não constante é inválida |
| Erro do compilador C2267 | 'função': funções estáticas com escopo de bloco são inválidas |
| Erro do compilador C2268 | 'função': é um auxiliar de biblioteca predefinido do compilador. Não há suporte para os auxiliares de biblioteca com /GL; compilar o arquivo de objeto 'nome_de_arquivo' sem /GL. |
| Erro do compilador C2269 | não é possível criar um ponteiro ou uma referência a um tipo de função qualificado (requer um ponteiro para membro) |
| Erro do compilador C2270 | 'função': modificadores não permitidos em funções não membro |
| Erro do compilador C2271 | 'função': new/delete não pode ter modificadores de lista formais |
| Erro do compilador C2272 | 'função': modificadores não permitidos em funções de membro estático |
| Erro do compilador C2273 | 'tipo': inválido como lado direito do operador '->' |
| Erro do compilador C2274 | 'tipo': inválido como lado direito do operador '.' |
| Erro do compilador C2275 | 'tipo': esperava uma expressão em vez de um tipo |
| Erro do compilador C2276 | 'operador': operação ilegal na expressão de função membro associada |
| Erro do compilador C2277 | 'função': não é possível receber o endereço desta função membro |
| Erro do compilador C2278 | 'token': token inesperado. O formato é '__has_cpp_attribute( identifier )' |
| Erro do compilador C2279 | especificação de exceção não pode aparecer em uma declaração de typedef |
| Erro do compilador C2280 | 'classe::função': tentativa de fazer referência a uma função excluída |
| Erro do compilador C2281 | 'classe::função': uma função só pode ser excluída na primeira declaração |
| Erro do compilador C2282 | 'função1' não pode substituir 'função2' |
| Erro do compilador C2283 | 'identifier': especificador pure ou especificador de substituição abstract não permitido em um struct sem nome |
| Erro do compilador C2284 | 'função': argumento inválido para função intrínseca, parâmetro número |
| Erro do compilador C2285 | representação de ponteiros para membros já foi determinada – pragma ignorado |
| Erro do compilador C2286 | ponteiros para membros da representação de 'identificador' já estão definidos como 'herança' – declaração ignorada |
| Erro do compilador C2287 | 'identificador': representação de herança: 'herança' é menos geral que a 'herança' necessária |
| Erro do compilador C2288 | o número de pré-processamento "number" não é um inteiro válido ou literal flutuante |
| Erro do compilador C2289 | o mesmo qualificador de tipo foi usado mais de uma vez |
| Erro do compilador C2290 | Sintaxe C++ 'asm' ignorada. Use __asm. |
| Erro do compilador C2291 | Um namespace anônimo não pode ser exportado. |
| Erro do compilador C2292 | 'identificador': melhor representação possível de herança: 'herança1' declarada, mas 'herança2' exigida. |
| Erro do compilador C2293 | 'identificador': é inválido ter uma variável membro como um especificador __based |
| Erro do compilador C2294 | não é possível exportar o símbolo 'identificador' porque ele tem vínculo interno |
| Erro do compilador C2295 | 'identificador' de escape: é ilegal na definição de macro |
| Erro do compilador C2296 | 'operador': inválido, operando à esquerda possui tipo 'tipo' |
| Erro do compilador C2297 | 'operador': inválido, operando à direita possui tipo 'tipo' |
| Erro do compilador C2298 | ponteiro de chamada para limite ausente para função membro |
| Erro do compilador C2299 | 'função': alteração de comportamento: uma especialização explícita não pode ser um construtor de cópia ou operador de atribuição de cópia |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2001 - C3999, C7000 - C7999