Erros do compilador C2100 a C2199
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 C2100 | indireção inválida |
Erro do compilador C2101 | '&' em constante |
Erro do compilador C2102 | '&' requer l-value |
Erro do compilador C2103 | '&' em variável de registro |
Erro do compilador C2104 | '&' no campo de bits ignorado |
Erro do compilador C2105 | 'operator' precisa de l-value |
Erro do compilador C2106 | 'operator': operando à esquerda deve ser l-value |
Erro do compilador C2107 | índice inválido, indireção não permitida |
Erro do compilador C2108 | o subscrito não é de tipo integral |
Erro do compilador C2109 | o subscrito requer um tipo de matriz ou ponteiro |
Erro do compilador C2110 | '+': não é possível adicionar dois ponteiros |
Erro do compilador C2111 | '+': soma de ponteiros requer operando integral |
Erro do compilador C2112 | '-': subtração de ponteiros requer operando integral ou ponteiro |
Erro do compilador C2113 | '-': ponteiro só pode ser subtraído de outro ponteiro |
Erro do compilador C2114 | 'operator': ponteiro à esquerda; precisa de um valor integral à direita |
Erro do compilador C2115 | 'operator': tipos incompatíveis |
Erro do compilador C2116 | listas de parâmetros de função diferentes |
Erro do compilador C2117 | 'identifier' : estouro de limites da matriz |
Erro do compilador C2118 | subscrito negativo |
Erro do compilador C2119 | 'identifier': não é possível deduzir o tipo para 'tipo' de um inicializador vazio |
Erro do compilador C2120 | 'void' inválido com todos os tipos |
Erro do compilador C2121 | '#': caractere inválido: possivelmente o resultado de uma expansão de macro |
Erro do compilador C2122 | 'identifier': o parâmetro de protótipo na lista de nomes é ilegal |
Erro do compilador C2123 | 'identifier': modelos de alias não podem ser explicitamente ou parcialmente especializados |
Erro do compilador C2124 | divisão ou mod por zero |
Erro do compilador C2125 | 'constexpr' é incompatível com 'token' |
Erro do compilador C2126 | 'identifier' não pode ser declarado com o especificador 'constexpr' |
Erro do compilador C2127 | 'identifier': inicialização ilegal da entidade 'constexpr' com uma expressão não constante |
Erro do compilador C2128 | 'function': alloc_text/same_seg aplicável apenas a funções com vínculo a C |
Erro do compilador C2129 | função estática 'identifier' declarada, mas não definida |
Erro do compilador C2130 | #line esperava uma cadeia de caracteres contendo o nome de arquivo, encontrou 'token' |
Erro do compilador C2131 | a expressão não foi avaliada como uma constante |
Erro do compilador C2132 | erro de sintaxe: identificador inesperado |
Erro do compilador C2133 | 'identificador': tamanho desconhecido |
Erro do compilador C2134 | 'function' : a chamada não resulta em uma expressão de constante |
Erro do compilador C2135 | 'operator': operação de campo de bit inválida |
Erro do compilador C2136 | contrato de API de criação não permitido |
Erro do compilador C2137 | constante de caractere vazio |
Erro do compilador C2138 | ilegal para definir uma enumeração sem membros |
Erro do compilador C2139 | 'class': uma classe indefinida não é permitida como um argumento para a característica de tipo intrínseco do compilador 'trait' |
Erro do compilador C2140 | 'type': um tipo que é dependente de um parâmetro de tipo genérico não é permitido como um argumento para a característica de tipo intrínseca do compilador 'trait' |
Erro do compilador C2141 | estouro na dimensão da matriz |
Erro do compilador C2142 | declarações da função diferem, parâmetros de variáveis especificados em apenas uma delas |
Erro do compilador C2143 | erro de sintaxe: 'token1' ausente antes de 'token2' |
Erro do compilador C2144 | erro de sintaxe: 'type' deve ser precedido por 'token2' |
Erro do compilador C2145 | erro de sintaxe: 'token' ausente antes do identificador |
Erro do compilador C2146 | erro de sintaxe: 'token' ausente antes do identificador 'identifier' |
Erro do compilador C2147 | erro de sintaxe: 'token' é uma nova palavra-chave |
Erro do compilador C2148 | o tamanho total da matriz não deve exceder 0xvalue bytes |
Erro do compilador C2149 | 'identifier': o campo de bits nomeado não pode ter largura zero |
Erro do compilador C2150 | 'identifier': o campo de bits deve ser do tipo 'int', 'signed int' ou 'unsigned int' |
Erro do compilador C2151 | mais de um atributo de linguagem |
Erro do compilador C2152 | 'identifier' : ponteiros para funções com atributos diferentes |
Erro do compilador C2153 | os literais de inteiros devem ter pelo menos um dígito |
Erro do compilador C2154 | 'type': somente tipo de enumeração é permitido como argumento para a característica do tipo intrínseco do compilador 'trait' |
Erro do compilador C2155 | '?' : tipo de ponteiro, expressão aritmética esperada ou operando esquerdo inválidos |
Erro do compilador C2156 | pragma deve estar fora da função |
Erro do compilador C2157 | 'identifier': deve ser declarado antes do uso na lista de pragma |
Erro do compilador C2158 | 'type': a diretiva #pragma make_public tem suporte atualmente apenas para tipos nativos não modelo |
Erro do compilador C2159 | mais de uma classe de armazenamento especificada |
Erro do compilador C2160 | '##' não pode ocorrer no início de uma definição de macro |
Erro do compilador C2161 | '##' não pode ocorrer no fim de uma definição de macro |
Erro do compilador C2162 | parâmetro formal de macro esperado |
Erro do compilador C2163 | 'função': não disponível como uma função intrínseca |
Erro do compilador C2164 | 'function': função intrínseca não declarada |
Erro do compilador C2165 | 'modifier': não é possível modificar ponteiros para dados |
Erro do compilador C2166 | l-value especifica objeto const |
Erro do compilador C2167 | 'function': muitos parâmetros reais para função intrínseca |
Erro do compilador C2168 | 'function': poucos parâmetros reais para função intrínseca |
Erro do compilador C2169 | 'function': função intrínseca, não pode ser definida |
Erro do compilador C2170 | 'identifier': não declarado como uma função, não pode ser intrínseco |
Erro do compilador C2171 | 'operator': inválido em operandos de tipo 'type' |
Erro do compilador C2172 | 'function': o parâmetro real não é um ponteiro: parâmetro number |
Erro do compilador C2173 | 'function': o parâmetro real não é um ponteiro: parâmetro number, lista de parâmetros number2 |
Erro do compilador C2174 | 'function': o parâmetro real tem o tipo 'void': parâmetro number, lista de parâmetros number |
Erro do compilador C2175 | 'locale' : localidade inválida |
Erro do compilador C2176 | uma instrução return não pode aparecer no manipulador de uma função de bloco try associada a um construtor |
Erro do compilador C2177 | constante grande demais |
Erro do compilador C2178 | O 'identifier' não pode ser declarado com o especificador 'specifier' |
Erro do compilador C2179 | 'type': um argumento de atributo não pode usar parâmetros de tipo |
Erro do compilador C2180 | a expressão de controle é do tipo 'type' |
Erro do compilador C2181 | else inválido sem if correspondente |
Erro do compilador C2182 | 'identifier' : uso ilegal do tipo 'void' |
Erro do compilador C2183 | erro de sintaxe: unidade de tradução está vazia |
Erro do compilador C2184 | 'type': tipo inválido para expressão __except |
Erro do compilador C2185 | 'identifier' : alocação com base ilegal |
Erro do compilador C2186 | 'operator': operando inválido do tipo 'void' |
Erro do compilador C2187 | erro de sintaxe: o 'token' não era esperado aqui |
Erro do compilador C2188 | 'number': muito grande para caractere largo |
Erro do compilador C2189 | o atributo 'alignas' não pode ser aplicado a um campo de bits, um parâmetro de função, uma declaração de exceção ou uma variável declarada com a classe de armazenamento 'register' |
Erro do compilador C2190 | primeira lista de parâmetros mais longa que a segunda |
Erro do compilador C2191 | segunda lista de parâmetros mais longa que a primeira |
Erro do compilador C2192 | declaração do parâmetro 'number' diferente |
Erro do compilador C2193 | 'identifier' : já em um segmento |
Erro do compilador C2194 | 'identifier': é um segmento de texto |
Erro do compilador C2195 | 'identifier': é um segmento de dados |
Erro do compilador C2196 | valor de caso 'value' já usado |
Erro do compilador C2197 | 'function': número excedente de argumentos para chamada |
Erro do compilador C2198 | 'function': número insuficiente de argumentos para chamada |
Erro do compilador C2199 | erro de sintaxe: encontrado 'identifier (' no escopo global (foi uma declaração pretendida?) |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2001 - C3999, C7000 - C7999