Partilhar via


Avisos do compilador Microsoft C/C++ C4000 a C4199

Os artigos nesta seção descrevem mensagens de aviso do compilador Microsoft C/C++ C4000 a C4199.

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 aviso

Advertência Mensagem
Aviso do compilador (nível 4, não é mais emitido) C4001 foi utilizada uma extensão não normalizada «comentário de linha única»
Aviso do compilador (nível 1, erro) C4002 demasiados argumentos para a invocação de macro semelhante a uma função 'identificador'
Aviso do compilador (nível 1, erro) C4003 não há argumentos suficientes para a invocação de uma macro semelhante a função 'identificador'
Aviso do compilador (nível 1) C4005 'identificador': redefinição de macro
Aviso do compilador (nível 1) C4006 Esperava-se um identificador #undef
Aviso do compilador (nível 3) C4007 'função': deve ser 'atributo'
Aviso do compilador (nível 3) C4008 'função': 'atributo' atributo ignorado
Aviso do compilador (nível 1) C4010 comentário de linha única contém carácter de continuação de linha
Aviso do compilador (nível 3) C4013 'função' indefinida; assumindo o retorno externo int
Aviso do compilador (nível 1) C4015 'identificador': tipo de campo de bit deve ser integral
Aviso do compilador (nível 3) C4018 'expressão': incompatibilidade assinada/não assinada
Aviso do compilador (nível 4) C4019 Declaração vazia no âmbito global
Aviso do compilador (nível 1) C4020 «Função»: demasiados parâmetros reais
Aviso do compilador (nível 1) C4022 'função': incompatibilidade de ponteiro para o parâmetro real parameter_number
Aviso do compilador (nível 1) C4023 'função': ponteiro baseado passado para função não prototipada: parâmetro parameter_number
Aviso do compilador (nível 1) C4024 'função': diferentes tipos de parâmetros formais e reais parameter_number
Aviso do compilador (nível 1) C4025 'função': ponteiro baseado passado para função com argumentos variáveis: parâmetro parameter_number
Aviso do compilador (nível 1) C4026 função declarada com lista de parâmetros formal
Aviso do compilador (nível 1) C4027 função declarada sem lista de parâmetros formal
Aviso do compilador (nível 1) C4028 parâmetro formal parameter_number diferente da declaração
Aviso do compilador (nível 1) C4029 Lista de parâmetros formais declarados diferentes da definição
Aviso do compilador (nível 1) C4030 primeira lista de parâmetros formais mais longa do que a segunda lista
Aviso do compilador (nível 1) C4031 segunda lista de parâmetros formais mais longa do que a primeira lista
Aviso do compilador (nível 4) C4032 parâmetro formal parameter_number tem tipo diferente quando promovido
Aviso do compilador (nível 1) C4033 'função' deve retornar um valor
Aviso do compilador (nível 1) C4034 sizeof retorna 0
Aviso do compilador (nível 3) C4035 'função': sem valor de retorno
Aviso do compilador (nível 1) C4036 'tipo' sem nome como parâmetro real
Aviso do compilador (nível 1) C4038 'modificador': modificador de classe ilegal
Aviso do compilador (nível 1) C4041 Limite do compilador: encerrando a saída do navegador
Aviso do compilador (nível 1) C4042 'identificador': tem classe de armazenamento incorreta
Aviso do compilador (nível 1) C4045 'array': transbordo de limites de matriz
Aviso do compilador (nível 1) C4047 'operador': 'identifier1' difere em níveis de indireção de 'identifier2'
Aviso do compilador (nível 1) C4048 diferentes índices de matriz: 'identifier1' e 'identifier2'
Aviso do compilador (nível 1) C4049 Limite do compilador: emissão do número da linha ao terminar
Aviso do compilador (nível 1) C4051 conversão de tipos; possível perda de dados
Aviso do compilador (nível 1 e nível 4) C4052 declarações de função diferentes; um contém argumentos variáveis
Aviso do compilador (nível 4) C4053 um operando vazio para '?:'
Aviso do compilador (nível 1) C4055 'conversão' : do ponteiro de dados 'tipo1' para o ponteiro de função 'tipo2'
Aviso do compilador (nível 2) C4056 sobrecarga em aritmética de constantes de ponto flutuante
Aviso do compilador (nível 4) C4057 'operador': 'identifier1' difere em indireção para tipos de base ligeiramente diferentes de 'identifier2'
Aviso do compilador (nível 3, desligado) C4060 A instrução switch não contém rótulos 'caso' ou 'default'
Aviso do compilador (nível 4, desligado) C4061 Enumerador 'identificador' no switch de enum 'enumeração' não é explicitamente manipulado por um rótulo case
Aviso do compilador (nível 4, desligado) C4062 enumerador 'identificador' no switch de enum 'enumeração' não é manipulado
Aviso do compilador (nível 4) C4063 caso 'identificador' não é um valor válido para switch de enum 'enumeração'
Aviso do compilador (nível 4) C4064 Alternativa de enumeração incompleta enum ''
Aviso do compilador (nível 3, desligado) C4065 A instrução switch contém 'default', mas não contém rótulos 'case'
Aviso do compilador (nível 3) C4066 caracteres além do primeiro em constante de caracteres largos ignorados
Aviso do compilador (nível 1) C4067 Símbolos inesperados após a diretiva de pré-processador - esperava-se uma nova linha
Aviso do compilador (nível 1) C4068 pragma desconhecido 'identificador'
Aviso do compilador C4069 long double tem a mesma precisão que double
Aviso do compilador (nível 3) C4073 inicializadores colocados na área de inicialização da biblioteca
Aviso do compilador (nível 1) C4074 inicializadores colocados na área de inicialização reservada do compilador
Aviso do compilador (nível 1) C4075 inicializadores colocados na área de inicialização não reconhecida
Aviso do compilador (nível 1) C4076 'modificador_de_tipo': não pode ser usado com o tipo 'typename'
Aviso do compilador (nível 1) C4077 Opção check_stack desconhecida
Aviso do compilador (nível 1) C4079 token inesperado 'token'
Aviso do compilador (nível 1) C4080 identificador esperado para o nome do segmento; encontrado 'símbolo'
Aviso do compilador (nível 1) C4081 esperado 'token1'; encontrado 'token2'
Aviso do compilador (nível 1) C4083 esperava-se 'token'; encontrou-se identificador 'identificador'
Aviso do compilador (nível 1) C4085 Espera-se que o parâmetro pragma seja 'on' ou 'off'
Aviso do compilador (nível 1) C4086 o parâmetro pragma esperado é '1', '2', '4', '8' ou '16'
Aviso do compilador (nível 1) C4087 'função': declarada com 'void' lista de parâmetros
Aviso do compilador (nível 1) C4088 'função': incompatibilidade de ponteiro no parâmetro real parameter_number, parâmetro formal parameter_number
Aviso do compilador (nível 1) C4089 'função': diferentes tipos no parâmetro real número_do_parâmetro, parâmetro formal número_do_parâmetro
Aviso do compilador (nível 1) C4090 'operação': diferentes 'modificador' qualificadores
Aviso do compilador (nível 1 e nível 2) C4091 'palavra-chave': ignorado à esquerda de 'digite' quando nenhuma variável é declarada
Aviso do compilador (nível 4) C4092 sizeof retorna 'longo não assinado'
Aviso do compilador (nível 2) C4094 não etiquetado 'símbolo' declarado sem símbolos
Aviso do compilador (nível 1) C4096 'identificador': a interface não é uma interface COM; não será incluída no IDL
Aviso do compilador (nível 1) C4097 Espera-se que o parâmetro pragma seja 'restore' ou 'off'
Aviso do compilador (nível 1) C4098 Função '': 'void' função que retorna um valor
Aviso do compilador (nível 2) C4099 'identificador': tipo de nome visto pela primeira vez usando 'objeto_tipo1' agora visto usando 'objeto_tipo2'
Aviso do compilador (nível 4) C4100 'identificador': parâmetro não referenciado
Aviso do compilador (nível 3 e nível 4) C4101 'identificador': variável local não referenciada
Aviso do compilador (nível 3) C4102 'rótulo': rótulo não referenciado
Aviso do compilador (nível 1) C4103 alinhamento alterado após a inclusão do cabeçalho, pode ser devido à falta de #pragma pack(pop)
Aviso do compilador (nível 1) C4109 identificador inesperado 'identificador'
Aviso do compilador (nível 1 e nível 4) C4112 #line requer um número inteiro entre 1 e line_count
Aviso do compilador (nível 1) C4113 'identifier1' difere nas listas de parâmetros de 'identifier2'
Aviso do compilador (nível 1) C4114 mesmo qualificador de tipo usado mais de uma vez
Aviso do compilador (nível 1 e nível 4) C4115 'tipo': definição de tipo nomeado entre parênteses
Aviso do compilador (nível 1) C4116 Definição de tipo sem nome entre parênteses
Aviso do compilador (nível 1) C4117 O nome da macro 'nome' é reservado, o 'comando' foi ignorado.
Aviso do compilador (nível 1) C4119 diferentes bases 'base1' e 'base2' especificadas
Aviso do compilador (nível 1) C4120 desfasamento fundamentado/não fundamentado
Aviso do compilador (nível 4) C4121 'símbolo': o alinhamento de um elemento era sensível ao empacotamento
Aviso do compilador (nível 1) C4122 'função': alloc_text aplicável apenas a funções com ligação em C
Aviso do compilador (nível 1) C4123 diferentes expressões de base especificadas
Aviso do compilador (nível 1) C4124 __fastcall com a verificação da pilha é ineficiente
Aviso do compilador (nível 4) C4125 o dígito decimal termina a sequência de escape octal
Aviso do compilador (nível 4) C4127 a expressão condicional é constante
Aviso do compilador (nível 1) C4129 'carácter': sequência de escape de carácter não reconhecida
Aviso do compilador (nível 4) C4130 'operador': operação lógica sobre o endereço da constante de cadeia de caracteres
Aviso do compilador (nível 4) C4131 'função': usa declarador antigo
Aviso do compilador (nível 4) C4132 'objeto': const objeto deve ser inicializado
Aviso do compilador (nível 1 e nível 3) C4133 'expressão': tipos incompatíveis - de 'tipo1' a 'tipo2'
Aviso do compilador C4137 'função': nenhum valor de retorno da função de ponto flutuante
Aviso do compilador (nível 1) C4138 '*/' encontrado fora do comentário
Aviso do compilador (nível 1, erro) C4141 "modificador": utilizado mais do que uma vez
Aviso do compilador (nível 1) C4142 'identificador': redefinição benigna do tipo
Aviso do compilador (nível 1) C4143 pragma 'same_seg' não é suportado; utilize a alocação __based
Aviso do compilador (nível 1) C4144 'expressão': expressão relacional como expressão switch
Aviso do compilador (nível 1) C4145 'expression1': expressão relacional como expressão de switch; possível confusão com 'expression2'
Aviso do compilador (nível 2) C4146 operador menos unário aplicado ao tipo não assinado, resultado ainda não assinado
Aviso do compilador (nível 2) C4150 eliminação do ponteiro para o tipo incompleto 'tipo'; nenhum destrutor chamado
Aviso do compilador (nível 4) C4152 extensão não padrão, conversão de ponteiro de função/dados na expressão
Aviso do compilador (nível 1) C4153 conversão de função/ponteiro de dados na expressão
Aviso do compilador (nível 1) C4154 exclusão de uma expressão de matriz; conversão para ponteiro fornecido
Aviso do compilador (nível 1) C4155 Exclusão de uma expressão de matriz sem usar a forma de matriz de 'excluir'
Aviso do compilador (nível 2) C4156 supressão de uma expressão de matriz sem utilizar a forma de matriz de «eliminar»; forma de matriz substituída
Aviso do compilador (nível 1) C4157 pragma foi ignorado pelo compilador C
Aviso do compilador (nível 1) C4158 assumindo #pragma pointers_to_members(full_generality, tipo_herança)
Aviso do compilador (nível 3) C4159 #pragma pragma(pop,...): apareceu anteriormente empurrado identificador 'identificador'
Aviso do compilador (nível 1) C4160 #pragma pragma(pop,...): não encontrou identificador previamente empurrado 'identificador'
Aviso do compilador (nível 3) C4161 #pragma pragma(pop...): mais pops do que pushes
Aviso do compilador (nível 1) C4162 'identificador': não foi encontrada nenhuma função com ligação C
Aviso do compilador (nível 1) C4163 'identificador': não disponível como função intrínseca
Aviso do compilador (nível 1) C4164 'função': função intrínseca não declarada
Aviso do compilador (nível 3, desligado) C4165 'HRESULT' está sendo convertido em 'bool'; Tem certeza de que é isso que você quer?
Aviso do compilador (nível 1) C4166 convenção de chamada ilegal para construtor/destruidor
Aviso do compilador (nível 1) C4167 'função': disponível apenas como função intrínseca
Aviso do compilador (nível 1) C4168 Limite do compilador: Fora dos tipos de depurador, exclua o banco de dados do programa 'banco de dados' e reconstrua
Aviso do compilador (nível 1) C4172 endereço de retorno da variável local ou temporária : optional_context
Aviso do compilador (nível 1) C4174 'nome': não disponível como #pragma component
Aviso do compilador (nível 1) C4175 #pragma component(browser, on): as informações do navegador devem ser especificadas inicialmente na linha de comando
Aviso do compilador (nível 1) C4176 'subcomponente': subcomponente desconhecido para o navegador #pragma component
Aviso do compilador (nível 1) C4177 #pragma 'pragma' só deve ser usado no escopo global ou no escopo do namespace
Aviso do compilador (nível 1) C4178 case constante 'constante' demasiado grande para o tipo de expressão do interruptor
Aviso do compilador (nível 4, não é mais emitido) C4179 '//*': analisado como '/' e '/\*': confusão com os comentários de padrão '//'
Aviso do compilador (nível 1) C4180 qualificador aplicado ao tipo de função não tem significado; ignorado
Aviso do compilador C4181 qualificador aplicado ao tipo de referência; ignorado
Aviso do compilador (nível 1) C4182 #include nível de nidificação é nest_count profundo; possível recursão infinita
Aviso do compilador (nível 1) C4183 'identificador': tipo de retorno ausente; assumido como uma função de membro retornando 'int'
Aviso do compilador (nível 1) C4185 ignorar o atributo desconhecido de importação #' atributo'
Aviso do compilador (nível 1) C4186 # importar atributo 'atributo' requer argument_count argumentos; ignorado
Aviso do compilador (nível 1) C4187 #import atributos 'atributo1' e 'atributo2' são incompatíveis; ambos ignorados
Aviso do compilador (nível 1) C4188 a expressão constante não é integral
Aviso do compilador (nível 3 e nível 4) C4189 'identificador': variável local é inicializada, mas não referenciada
Aviso do compilador (nível 1) C4190 'identifier1' tem especificação de ligação C, mas retorna 'identifier2' que é incompatível com C
Aviso do compilador (nível 3, desligado) C4191 'operação': conversão insegura de 'tipo_de_expressão' para 'tipo_requerido'
Fazer uma chamada de função usando o ponteiro resultante pode fazer com que o programa falhe
Aviso do compilador (nível 3) C4192 Excluindo automaticamente o identificador '' ao importar a biblioteca de tipos ''
Aviso do compilador (nível 3) C4193 #pragma warning(pop): sem correspondência '#pragma warning(push)'
Aviso do compilador (nível 1) C4194 #pragma start_map_region não pode ser aninhado; ignorado
Aviso do compilador (nível 1) C4195 #pragma stop_map_region utilizado sem correspondência #pragma start_map_region; ignorado
Aviso do compilador (nível 1) C4196 esperado 'token1' ou 'token2'; encontrado 'token3'
Aviso do compilador (nível 3) C4197 'tipo': volatile de nível superior no escalonamento é ignorado
Aviso do compilador (nível 1, nível 2, nível 3 e nível 4) C4199 mensagem

Ver também

Erros e avisos do compilador C/C++ e das ferramentas de compilação
Avisos do compilador C4000 - C5999