Partilhar via


Avisos de compilador desativados por padrão

O compilador inclui avisos que são desativados por padrão, pois a maioria dos usuários não deseja vê-los. No entanto, você pode habilitar esses avisos usando uma das opções a seguir.

  • #pragma warning(default : warning_number )
    O aviso especificado (warning_number) é habilitado no seu nível padrão. A documentação para o aviso contém o nível padrão do aviso.

  • #pragma warning( warning_level : warning_number )
    O aviso especificado (warning_number) é habilitado no nível especificado (warning_level).

  • /Wall
    /Wall habilita todos os avisos que são desativados por padrão.

Os seguintes avisos são desativados por padrão.

C4061 (nível 4)

o enumerador 'identifier' em uma opção de enum 'enumeration' não é tratado explicitamente por um rótulo case

C4062 (nível 3)

o enumerador 'identifier' em uma opção de enum 'enumeration' não é tratado

C4191 (nível 3)

'operator/operation': conversão não segura de 'type of expression' em 'type required'

C4242 (nível 4)

'identifier': conversão de 'type1' em 'type2', possível perda de dados

C4254 (nível 4)

'operator': conversão de 'type1' em 'type2', possível perda de dados

C4255 (nível 4)

'function': nenhum protótipo de função fornecido: convertendo '()' em '(void)'

C4263 (nível 4)

'function': função membro não substitui nenhuma função membro virtual da classe base

C4264 (nível 1)

'virtual_function': nenhuma substituição disponível para função membro virtual da 'classe' base; a função é ocultada

C4265 (nível 3)

'class': a classe tem funções virtuais, mas o destruidor não é virtual

C4266 (nível 4)

'function': nenhuma substituição disponível para função membro virtual da base 'type'; a função é ocultada

C4287 (nível 3)

'operator': incompatibilidade de constante negativa/não assinada

C4289 (nível 4)

extensão não padrão usada: 'var': variável de controle de loop declarada no loop for é usada fora do escopo do loop for

C4296 (nível 4)

'operator': a expressão é sempre falsa

C4302 (nível 2)

'conversion': truncamento de 'type1' para 'type2'

C4311 (nível 1)

'variable': truncamento de ponteiro de 'type' para 'type'

C4312 (nível 1)

'operation': conversão de 'type1' em 'type2' de tamanho maior

C4339 (nível 4)

'type': uso de tipo indefinido detectado no metadados do CLR - usar esse tipo pode gerar uma exceção de tempo de execução

C4342 (nível 1)

alteração de comportamento: 'function' chamado, mas um operador de membro foi chamado em versões anteriores

C4350 (nível 1)

alteração de comportamento: 'member1' chamado no lugar de 'member2'

C4355

'this' : usado na lista de inicializadores do membro base

C4365 (nível 4)

'action': conversão de 'type_1' em 'type_2', incompatibilidade de signed/unsigned

C4370 (nível 3)

layout da classe foi alterado de uma versão anterior do compilador devido a empacotamento melhor

C4371 (nível 3)

layout da classe pode ter sido alterado de uma versão anterior do compilador devido a empacotamento melhor do membro 'member'

C4388 (nível 4)

incompatibilidade de signed/unsigned

C4412 (nível 2)

'function': a assinatura da função contém o tipo 'type'; não é seguro passar objetos C++ entre código puro e combinado ou nativo

C4431 (nível 4)

faltando especificador de tipo - int assumido. Observação: C não suporta mais default-int

C4435 (nível 4)

'class1' : layout do objeto em /vd2 será alterado devido à base virtual 'class2'

C4437 (nível 4)

dynamic_cast da base virtual 'class1' para 'class2' pode falhar em alguns contextos

C4444 (nível 3)

top level '__unaligned' não é implementado nesse contexto

C4471 (nível 4)

uma declaração de encaminhamento de uma enumeração sem escopo deve ter um tipo subjacente (int assumido)

C4472 (nível 1)

'identifier' é um enum nativo: adicione um especificador de acesso (privado/público) para declarar um enum gerenciado

C4514 (nível 4)

'function': função embutida sem referência foi removida

C4536 (nível 4)

'type name': nome do tipo excede o limite de metadados de caracteres 'limit'

C4545 (nível 1)

expressão antes da vírgula é avaliada para uma função que está ausente em uma lista de argumentos

C4546 (nível 1)

faltando lista de argumentos na chamada de função antes da vírgula

C4547 (nível 1)

'operator': operador antes da vírgula não tem efeito; operador esperado com efeito colateral

C4548 (nível 1)

expressão antes da vírgula não tem efeito; expressão esperada com efeito colateral

C4549 (nível 1)

'operator': operador antes da vírgula não tem efeito; você intencionava 'operator'?

C4555 (nível 1)

expressão não tem efeito; expressão esperada com efeito colateral

C4557 (nível 3)

'__assume' contém efeito 'effect'

C4571 (nível 4)

informativo: semântica de catch(…) alterada desde o Visual C++ 7.1; exceções estruturadas (SEH) não são mais capturadas

C4574 (nível 4)

'identifier' é definido para ser '0': você quis usar '#if identifier'?

C4608 (nível 3)

'symbol1' já foi inicializado por outro membro de união na lista de inicializadores, 'symbol2'

C4619 (nível 3)

aviso #pragma: não há número de aviso 'number'

C4623 (nível 4)

'derived class': construtor padrão não pôde ser gerado porque o construtor padrão de uma classe base está inacessível

C4625 (nível 4)

'derived class': construtor de cópia não pôde ser gerado porque o construtor de cópia de uma classe base está inacessível

C4626 (nível 4)

'derived class': operador de atribuição não pôde ser gerado porque o operador de atribuição de uma classe base está inacessível

C4628 (nível 1)

dígrafos não suportados com -Ze. A sequência de caracteres 'digraph' não é interpretada como token alternativo para 'char'

C4640 (nível 3)

'instance': construção de objeto estático local não é thread-safe

C4668 (nível 4)

'symbol' não é definido como uma macro de pré-processador, substituindo por '0' para 'directives'

C4682 (nível 4)

'symbol' : nenhum atributo de parâmetro direcional especificado, padronizando para [in]

C4686 (nível 3)

'user-defined type': possível alteração no comportamento, alteração na convenção de chamada de retorno UDT

C4692 (nível 1)

'function': assinatura de membro não privado contém tipo nativo privado de assembly 'native_type'

C4710 (nível 4)

'function': função não embutida

C4738 (nível 3)

armazenando o resultado float de 32 bits na memória, possível perda de desempenho

C4767 (nível 4)

nome da seção 'symbol' tem mais de 8 caracteres e será truncado pelo vinculador

C4786 (nível 3)

'symbol' : o nome do objeto foi truncado para caracteres 'number' nas informações de depuração

C4820 (nível 4)

preenchimento de bytes 'bytes' adicionado após construção de 'member_name'

C4826 (nível 2)

conversão de 'type1' em 'type2' é estendida por sinal. Isso pode causar comportamento de tempo de execução inesperado

C4837 (nível 4)

trígrafo detectado: '??%c' substituído por '%c'

C4905 (nível 1)

literal amplo de cadeia de caracteres convertido em 'LPSTR'

C4906 (nível 1)

literal de cadeia de caracteres convertido em 'LPWSTR'

C4917 (nível 1)

'declarator': um GUID pode ser associado apenas a uma classe, uma interface ou um namespace

C4928 (nível 1)

inicialização de cópia ilegal; mais de uma conversão definida pelo usuário foi implicitamente aplicada

C4931 (nível 4)

estamos supondo que a biblioteca de tipos foi criada para ponteiros de bit por número

C4946 (nível 1)

reinterpret_cast usado entre classes relacionadas: 'class1' e 'class2'

C4962

'function': otimizações guiadas por perfil desabilitadas porque as otimizações tornaram os dados de perfil inconsistentes

C4986 (nível 4)

'symbol': especificação de exceção não corresponde à declaração anterior

C4987 (nível 4)

extensão não padrão usada: 'throw (...)'

C4988 (nível 4)

'symbol': variável declarada fora do escopo de classe/função

Consulte também

Referência

warning