Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 compilação do Visual Studio podem relatar muitos tipos de erros e avisos. Depois que um erro ou aviso é encontrado, as ferramentas de compilação podem 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 podem não se aplicar ao seu projeto. Quando você corrige problemas em seu projeto, sempre comece com o primeiro erro ou aviso relatado e recrie com frequência. Uma correção pode resolver vários erros subsequentes.
Para obter ajuda sobre uma mensagem de diagnóstico específica no Visual Studio, selecione-a na janela Output e pressione a tecla F1. O Visual Studio abre a página de documentação para esse erro, se existir. 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 o índice nesta página.
Observação
Nem todos os erros ou avisos do Visual Studio são documentados. Em muitos casos, a mensagem de diagnóstico fornece todas as informações disponíveis. Se você chegou a esta página e acha que a mensagem de erro ou aviso precisa de explicações adicionais, informe-nos usando os botões de feedback nesta página. Se você acha que o erro ou aviso está errado, ou encontrou outro problema com o conjunto de ferramentas, relate um problema de produto no site Comunidade de Desenvolvedores. Você também pode enviar comentários e inserir bugs dentro do IDE. No Visual Studio, vá para a barra de menus e escolha Ajuda > Enviar Comentários > Relatar um Problemaou enviar uma sugestão usando Ajuda > Enviar Comentários > Sugerir um recurso. Alguns tópicos de erros do compilador que não são emitidos pelo compilador foram criados 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++. Ou, procure o número de erro ou aviso no Visual Studio C++ Developer Community site. Você também pode pesquisar Stack Overflow para encontrar soluções.
Para obter links para ajuda adicional e recursos da comunidade, consulte Ajuda do Visual C++ eComunidade.
Mensagens de erro
| Erro | Mensagem |
|---|---|
| Erro de compilador C2200 | 'função': função já foi definida |
| Erro de compilador C2201 | «identificador»: deve ter ligação externa para poder ser exportado/importado |
| Erro do compilador C2202 | 'função': nem todos os caminhos de controle retornam um valor |
| Erro de compilador C2203 | O operador delete não pode especificar limites para uma matriz |
| Erro do compilador C2204 | 'tipo': definição de tipo encontrada entre parênteses |
| Erro de compilador C2205 | 'identificador': não é possível inicializar variáveis externas com escopo de bloco |
| Erro do compilador C2206 | 'função': typedef não pode ser usado para definição de função |
| Erro de compilador C2207 | 'membro': um membro de um modelo de classe não pode adquirir um tipo de função |
| Erro do compilador C2208 | 'tipo': nenhum membro está definido com este tipo |
| Erro de compilador C2209 | 'identificador': aliases não podem ser usados em declarações de construtor |
| Erro do compilador C2210 | 'identifier': expansões de pacote não podem ser usadas como argumentos para parâmetros não empacotados em templates de alias |
| Erro de compilador C2211 | Um destrutor não virtual numa classe referenciada derivada de uma classe referenciada com um destrutor público também deve ser público. |
| Erro de compilador C2212 | 'identificador': o __based não está disponível para ponteiros para funções |
| Erro de compilador C2213 | 'identificador': argumento ilegal para __based |
| Erro de compilador C2214 | Os ponteiros baseados em 'void' requerem a utilização de:> |
| Erro de 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' requer 'atributo2' |
| Erro de compilador C2218 | 'calltype' não pode ser usado com '/arch:IA32' |
| Erro do compilador C2219 | erro de sintaxe: qualificador de tipo deve estar após '*' |
| Erro do compilador C2220 | O seguinte aviso é tratado como um erro |
| Erro do compilador C2221 | Obsoleto. |
| Erro de compilador C2222 | Tipo inesperado 'tipo': uma classe base ou um membro era esperado |
| Erro do compilador C2223 | À esquerda de «->identificador», deve referir-se a uma estrutura/união. |
| Erro de compilador C2224 | à esquerda de '.identificador' deve ter o tipo struct/union |
| Erro do compilador C2225 | Obsoleto. |
| Erro de compilador C2226 | erro de sintaxe: tipo inesperado 'tipo' |
| Erro de compilador C2227 | à esquerda de '->identificador' deve referenciar uma classe/estrutura/união/tipo genérico |
| Erro de compilador C2228 | O lado esquerdo de '.identificador' deve ser uma classe/struct/union. |
| Erro de compilador C2229 | class/struct/union 'tipo' tem um array ilegal de tamanho zero |
| Erro de compilador C2230 | não foi possível encontrar o módulo 'nome' |
| Erro do compilador C2231 | '.identificador': o operando esquerdo aponta para 'class/struct/union', use '->' |
| Erro do compilador C2232 | '->identificador': o operando à esquerda é do tipo 'classe/estrutura/união', use '.' |
| Erro de compilador C2233 | 'identificador': matrizes de objetos contendo matrizes de tamanho zero são ilegais |
| Erro do compilador C2234 | identificador': matrizes de referências são ilegais |
| Erro do compilador C2235 | Arquitetura de destino incompatível para interface de módulo compilado para 'arquitetura 1' da 'arquitetura 2' |
| Erro do compilador C2236 | token inesperado 'token'. Esqueceu-se de um ';'? |
| Erro do compilador C2237 | Declaração de vários módulos |
| Erro do compilador C2238 | Tokens inesperados antes de '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 dos membros é restrito |
| Erro de compilador C2242 | O nome typedef não pode seguir class/struct/union |
| Erro do compilador C2243 | 'conversion_type': conversão de 'tipo1' para 'tipo2' existe, mas é inacessível |
| Erro de compilador C2244 | 'identificador': incapaz de corresponder a definição de função a uma declaração existente |
| Erro de compilador C2245 | função de membro inexistente 'função' especificada como amigo (assinatura de função de membro não corresponde a qualquer sobrecarga) |
| Erro de compilador C2246 | 'identificador': membro ilegal de dados estáticos em classe definida localmente |
| Erro do compilador C2247 | 'identificador' não acessível porque 'classe 1' usa 'especificador' para herdar de 'classe 2' |
| Erro de compilador C2248 | 'identificador': não é possível acessar acessibilidademembro declarado na classe 'classe' |
| Erro do compilador C2249 | 'identificador': nenhum caminho acessível para acessibilidademembro declarado na base virtual 'classe' |
| Erro do compilador C2250 | 'identificador': herança ambígua de classe::membro' |
| Erro de compilador C2251 | namespace 'namespace' não tem um membro 'identificador' - Você quis dizer 'membro'? |
| Erro do compilador C2252 | Uma instanciação explícita de um modelo só pode ocorrer no escopo do namespace |
| Erro do compilador C2253 | 'função': especificador puro ou especificador de substituição abstrato só é permitido em funções virtuais |
| Erro de compilador C2254 | 'função': especificador puro ou especificador de substituição abstrato não é permitido na 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 de amigo na função '' |
| Erro de compilador C2257 | 'especificador': especificador não permitido no tipo de retorno posterior |
| Erro de compilador C2258 | sintaxe pura ilegal, deve ser '= 0' |
| Erro do compilador C2259 | 'classe': não é possível instanciar classe abstrata |
| Erro do compilador C2260 | 'especificador': especificador de assembly amigo de InternalsVisibleToAttribute inválido |
| Erro do compilador C2261 | 'string': a referência de assembly é inválida e não pode ser resolvida |
| Erro do compilador C2262 | 'especificador': As declarações InternalsVisibleTo não podem ter uma versão, cultura ou 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 declaração da função; função não chamada |
| Erro de compilador C2265 | Obsoleto. |
| Erro do compilador C2266 | 'identificador': a referência a uma matriz limitada não constante é ilegal |
| Erro do compilador C2267 | 'função': funções estáticas com escopo de bloco são ilegais |
| Erro de compilador C2268 | 'função' é um auxiliar de biblioteca predefinido do compilador. Os auxiliares de biblioteca não são suportados com /GL; compile o arquivo de objeto 'nome do arquivo' sem /GL. |
| Erro de compilador C2269 | Não é possível criar um ponteiro ou referência a um tipo de função qualificada (requer ponteiro para membro) |
| Erro do compilador C2270 | 'função': modificadores não permitidos em funções não pertencentes a membros |
| Erro de compilador C2271 | 'função': novo/excluir não pode ter modificadores formais de lista |
| Erro de compilador C2272 | 'função': modificadores não permitidos em funções de membro estático |
| Erro de compilador C2273 | «tipo»: ilegal como lado direito do operador «->» |
| Erro do compilador C2274 | «tipo»: é ilegal como lado direito do operador '.' |
| Erro de compilador C2275 | 'tipo': é esperada uma expressão em vez de um tipo |
| Erro do compilador C2276 | 'operador': operação ilegal na expressão da função de membro vinculado |
| Erro de compilador C2277 | 'função': não pode obter a referência desta função de membro |
| Erro de compilador C2278 | 'token': token inesperado. O formato é '__has_cpp_attribute( identifier )' |
| Erro de compilador C2279 | A especificação de exceção não pode aparecer em uma declaração typedef |
| Erro de compilador C2280 | 'class::function': tentando 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 | 'function1' não pode substituir 'function2' |
| Erro do compilador C2283 | 'identificador': especificador puro ou especificador de substituição abstrato não permitido em 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 | As indicações para a representação dos membros já foram determinadas - Pragma ignorado |
| Erro do compilador C2286 | ponteiros para membros do identificador '' representação já está definida para herança - declaração ignorada |
| Erro do compilador C2287 | 'identificador': representação da herança: 'herança' é menos geral do que o necessário 'herança' |
| Erro de compilador C2288 | número de pré-processamento 'número' não é um inteiro válido ou literal flutuante |
| Erro de compilador C2289 | mesmo qualificador de tipo usado mais de uma vez |
| Erro do compilador C2290 | Sintaxe C++ 'asm' ignorada. Use __asm. |
| Erro de compilador C2291 | Um namespace anônimo não pode ser exportado. |
| Erro de compilador C2292 | 'identificador': melhor representação da herança possível: herança1' declarada mas 'herança2' obrigatório |
| Erro de compilador C2293 | 'identificador': é ilegal ter uma variável membro como especificador de __based |
| Erro do compilador C2294 | não é possível exportar o símbolo 'identificador' porque tem ligação interna |
| Erro de compilador C2295 | Escape 'caractere': é ilegal na definição de macro |
| Erro de compilador C2296 | 'operador': ilegal, o operando à esquerda é do tipo 'tipo' |
| Erro de compilador C2297 | 'operador': ilegal, operando direito tem tipo 'tipo' |
| Erro do compilador C2298 | Falta a chamada para um ponteiro ligado a uma função membro |
| Erro de compilador C2299 | 'função': mudança de comportamento: uma especialização explícita não pode ser um construtor de cópia ou um operador de atribuição de cópia |
Ver também
Erros e avisos do compilador C/C++ e das ferramentas de compilação
Erros do compilador C2001 - C3999, C7000 - C7999