Análise de código do C/C ++ avisos
Esta seção lista avisos de análise de código C/C ++ no intervalo de C6000 para C6999.
Nesta seção
Número do Aviso |
Descrição |
---|---|
Aviso C6001: usando a memória não inicializada <variável> |
|
Aviso C6011: desreferência de ponteiro nulo <nome> |
|
Aviso C6029: possível saturação de buffer na telefonar para <função>: uso de valor não verificado |
|
Aviso C6031: Retorna valor ignorado: <função>poderia retornar valor inesperado |
|
Aviso C6053: telefonar para <função>pode não zero-rescindir seqüência <variável> |
|
Aviso C6054: string <variável>pode não ser terminada em zero |
|
Aviso C6057: saturação devido ao número de caracteres/número de bytes incompatibilidade na telefonar para <função>de buffer |
|
Aviso C6059: Comprimento incorreto do parâmetro na telefonar para <função>.Passa o número de caracteres restantes, não o dimensionar do buffer de <variável> |
|
Aviso C6063: argumento string ausente para <função>correspondente à conversão especificador <number> |
|
Aviso C6064: argumento inteiro ausente para <função>correspondente à conversão especificador <number> |
|
Aviso C6066: não ponteiro transmitido sistema autônomo parâmetro <number>quando o ponteiro é necessário chamar <função> |
|
Aviso C6067: parâmetro <number>na telefonar para <função>deve ser o endereço da seqüência de caracteres |
|
Aviso C6200: índice <nome>está fora do intervalo de índice válido <min>para <max>para o buffer de pilha não <variável> |
|
Aviso C6201: buffer saturação para <variável>, que possivelmente pilha alocada: índice <nome>está fora do intervalo de índice válido <min>para <max> |
|
Aviso C6202: saturação para <variável>, que possivelmente pilha alocada, na telefonar para <função>de buffer: comprimento <dimensionar>excede dimensionar do buffer <max> |
|
Aviso C6203: saturação de buffer para buffer <variável>na telefonar para <função>: comprimento <dimensionar>excede o dimensionar do buffer |
|
Aviso C6204: possível saturação de buffer na telefonar para <função>: uso de parâmetro não-verificado <variável> |
|
Aviso C6209: usando 'sizeof <variable1>' sistema autônomo parâmetro <number>na telefonar para <função>onde <variable2>pode ser uma matriz de caractere largos, você pretendia usar contagem de caractere em vez de contagem de byte? |
|
Aviso C6211: Vazando memória <ponteiro>devido a uma exceção.Considere o uso de um bloco catch local para limpar a memória |
|
Aviso C6214: Converter entre tipos inteiros semanticamente diferentes: HRESULT para um tipo booliano |
|
Aviso C6215: Converter entre tipos inteiros semanticamente diferentes: Digite um valor booliano para HRESULT |
|
Aviso C6216: inserido de compilador conversão entre tipos integrais semanticamente diferentes: Digite um valor booliano para HRESULT |
|
Aviso C6217: Conversão implícita entre diferentes semanticamente inteiro tipos: Testando HRESULT com 'não'.Em vez disso, use macro teve êxito ou falha |
|
Aviso C6219: Conversão implícita entre diferentes semanticamente inteiro tipos: Comparando HRESULT para 1 ou TRUE.Em vez disso, use macro teve êxito ou falha |
|
Aviso C6220 - conversão implícita entre diferentes semanticamente inteiro tipos: Comparando HRESULT como -1.Em vez disso, use macro teve êxito ou falha |
|
Aviso C6221: Conversão implícita entre diferentes semanticamente inteiro tipos: Comparando HRESULT para um inteiro.Em vez disso, use macros teve êxito ou falha |
|
Aviso C6225: Conversão implícita entre diferentes semanticamente inteiro tipos: atribuindo 1 ou verdadeiro para HRESULT.Em vez disso, use S_FALSE |
|
Aviso C6226: Conversão implícita entre diferentes semanticamente inteiro tipos: atribuindo -1 a HRESULT.Em vez disso, use E_FAIL |
|
Aviso C6230: conversão implícita entre tipos inteiros semanticamente diferentes: usando o HRESULT em um contexto booliano |
|
Aviso C6235: (< constante diferente de zero > || <expressão>) é sempre uma constante diferente de zero |
|
Aviso C6236: (<expressão>|| < constante diferente de zero >) é sempre uma constante diferente de zero |
|
Aviso C6237: (<zero>&& <expressão>) é sempre zero.<expressão>nunca é avaliado e pode causar efeitos colaterais |
|
Aviso C6239: (< constante diferente de zero > && <expressão>) sempre avalia o resultado da <expressão>.Você pretendia usar o operador bit a bit-operador e? |
|
Aviso C6240: (<expressão>&& < constante diferente de zero >) sempre avalia o resultado da <expressão>.Você pretendia usar o operador bit a bit-operador e? |
|
Aviso C6242: Um salto fora desse bloco try força desenrolamento local.Gera a penalidade de desempenho |
|
Aviso C6244: declaração de local de <variável>oculta declaração anterior em <linha><arquivo> |
|
Aviso C6246: Declaração de local de <variável>oculta declaração do mesmo nome no escopo externo.Informações adicionais: Consulte declaração anterior em <location>. |
|
Aviso C6248: a configuração DACL do SECURITY_DESCRIPTOR para nulo resultará em um objeto desprotegido |
|
Aviso C6250: Chamar <função>VirtualFree sem o sinalizar MEM_RELEASE pode liberar memória, mas não lidar descritores (VADs) resultados em vazamentos de espaço de endereço |
|
Aviso C6255: _alloca indica falha levantando uma exceção de estouro de pilha.Em vez disso, use _alloca_s |
|
Aviso C6258: usar TerminateThread não permite thread adequada de Limpar |
|
Aviso C6259: código rotulado é inacessível: (<expressão>& <constante>) no comutador expr não é possível avaliar <caso-rótulo> |
|
Aviso C6260: sizeof * sizeof quase sempre está errada, você pretendia usar um número de caractere ou uma contagem de byte? |
|
Aviso C6262: Função usa <constante>bytes da pilha: excede /ANALYZE: stacksize <constante>.Considere a possibilidade de mover alguns dados para pilha |
|
Aviso C6263: usando _alloca em um loop; isso pode estourar rapidamente pilha |
|
Aviso C6268: Ordem incorreta de operações: (<type1>) (<type2>) x + y.Possíveis parênteses faltando na (<type1>) ((<type2>) x + y) |
|
Aviso C6269: ordem incorreta possível de operações: Cancelar a referência ignorada |
|
Aviso C6270: argumento ausente float <função>: Adicionar um argumento float correspondente <number>especificador de conversão |
|
Aviso C6271: argumento extra passado para <função>: parâmetro <number>não é usado pela seqüência de caracteres de formato |
|
Aviso C6272: float não são passadas sistema autônomo argumento <number>quando float é necessária na telefonar para <função> |
|
Aviso 6273 - não inteiro passado sistema autônomo parâmetro <number>quando inteiro é exigido na telefonar para <função>: Se o valor do ponteiro forem passado, %p deve ser usado |
|
Aviso C6274: caractere não passados sistema autônomo parâmetro <number>ao caractere é necessária em telefonar para <função> |
|
Aviso C6276: Converter entre tipos de seqüência semanticamente diferente: char * para wchar_t *.Uso da seqüência de caracteres inválido pode levar a um comportamento indefinido |
|
Aviso C6277: Nome do aplicativo nulo com um caminho sem aspas na telefonar para <função>: resultados em uma vulnerabilidade de segurança se o caminho contiver espaços |
|
Aviso C6278: <variável>é alocado com [] de novo array, mas excluído com excluir escalar.Destruidores não serão chamados |
|
Aviso C6279: <variável>é alocada com escalar novo, excluídos com [] de excluir de array |
|
Aviso C6280: <variável>é alocada com <função>, mas excluído com <função> |
|
Aviso 6281 - ordem incorreta de operações: operadores relacionais têm precedência maior do que os operadores bit a bit |
|
Aviso C6282: Operador incorreto: atribuição de constante no contexto booliano.Considere o uso de '==' em vez disso |
|
Aviso C6283: <variável>é alocado com [] de novo array, mas excluído com excluir escalar |
|
Aviso C6284: objeto passado sistema autônomo parâmetro '% d' quando seqüência é exigida na telefonar para <função>. |
|
Aviso C6285: (< constante diferente de zero > || < constante diferente de zero >) é sempre uma constante diferente de zero.Você pretendia usar o operador bit a bit-operador e? |
|
Aviso C6286: (< constante diferente de zero > || <expressão>) é sempre uma constante diferente de zero.<expressão>nunca é avaliado e pode causar efeitos colaterais |
|
Aviso C6287: código redundante: subexpressões esquerdas e direita são idênticos |
|
Aviso C6288: Operador incorreto: inclusão mútua sobre && é sempre zero.Você fez a intenção de usar || em vez disso? |
|
Aviso C6289: Operador incorreto: exclusão mútua sobre || sempre é uma constante diferente de zero.Você pretendia usar && em vez disso? |
|
Aviso C6290: Operação bit a bit no resultado lógico: !tem precedência maior do que &.Uso && ou (!(x & y)) em vez disso |
|
Aviso C6291: Operação bit a bit no resultado lógico: !tem precedência maior do que |.Uso || ou (!(x | y)) em vez disso |
|
Aviso C6292: mal definido para loop: contagens até no máximo |
|
Aviso C6293: Mal definido para loop: contagens abaixo do mínimo |
|
Aviso C6294: Mal definido para loop: condição inicial não satisfaz teste.Corpo do loop não executado |
|
Aviso C6295: Mal definido para loop: <variável>valores são do intervalo "min" para "máximo".Loop executado indefinidamente |
|
Aviso C6296: Mal definido para loop: Corpo do loop executado apenas uma vez |
|
Aviso C6297: Estouro aritmético: valor de 32 bit é deslocado e, em seguida, convertido em valor de 64 bit.Resultado não pode ser um valor esperado |
|
Aviso C6298: o uso de uma seqüência de somente leitura <ponteiro>sistema autônomo um argumento de seqüência de caracteres gravável: Isso irá tentar gravar em estática memória somente para leitura e causar falhas aleatórias |
|
Aviso C6299: Comparar um campo de bit para um tipo booliano explicitamente produzirá resultados inesperados |
|
Aviso C6299: Comparar um campo de bit para um tipo booliano explicitamente produzirá resultados inesperados |
|
Aviso C6303: incompatibilidade de seqüência de caracteres de formato: seqüência de caractere largos passado sistema autônomo parâmetro <number>quando a seqüência de caractere é necessário chamar <função> |
|
Aviso C6305: potencial incompatibilidade entre as quantidades sizeof e countof |
|
Aviso C6306: telefonar incorreta para <função>: Considere o uso de <função>que aceita um va_list sistema autônomo um argumento |
|
Aviso C6308: 'realocar' pode retornar um ponteiro nulo: atribuir um ponteiro nulo para <variável>, que é passado sistema autônomo um argumento para 'realocar', fará com que o bloco de memória original vazamento |
|
Aviso C6309: argumento <number>é nulo: Ele não está de acordo com a especificação de função de <function> |
|
Aviso C6310: constante inválido no filtro de exceção pode causar um comportamento inesperado |
|
Aviso C6312: Possível loop infinito: usar a constante EXCEPTION_CONTINUE_EXECUTION na expressão de filtro de exceção de um bloco try - exceto |
|
Aviso C6313: Operador incorreto: Zero - valiosos sinalizar não pode ser testados com o bit a bit - e.Usar um teste de igualdade para procurar sinalizadores com valor zero |
|
Aviso C6314: Ordem incorreta de operações: bit a bit- ou tem precedência maior do que o operador de expressão condicional.Adicionar parênteses para esclarecer o propósito de |
|
Aviso C6315: Ordem incorreta de operações: bit a bit - e tem precedência maior do que o bit a bit - ou.Adicionar parênteses para esclarecer o propósito de |
|
Aviso C6316: Operador incorreto: testada a expressão é constante e diferente de zero.Uso bit a bit- e para determinar se os bits estão definidos |
|
Aviso C6317: operador incorreto: não lógico (!) não é intercambiável com aqueles complemento (~) |
|
Aviso C6318: __Try mal definido / __except: Use a constante EXCEPTION_CONTINUE_SEARCH ou outra constante que é avaliada como zero na expressão de filtro de exceção.O código no bloco do manipulador de exceção não é executado |
|
Aviso C6319: uso do operador vírgula em uma expressão testada faz com que o argumento esquerdo seja ignorado quando tem sem efeitos colaterais |
|
Aviso C6320: expressão de filtro de exceção é EXCEPTION_EXECUTE_HANDLER constante.Isso pode mascarar exceções não foram se destina a ser tratado |
|
Aviso C6322: bloco _except vazio |
|
Aviso 6323 - uso do operador aritmético em tipo booliano |
|
Aviso C6324: uso incorreto potencial <function1>: Você pretendia usar <function2>? |
|
Aviso C6326: comparação potencial de uma constante com outra constante |
|
Aviso C6327: Saturação do buffer possíveis: Cópias SysAllocStringLen <number>caracteres da seqüência de caracteres <variável>sem validar o número de caracteres a serem copiados.O código pode apresentar falhar |
|
Aviso C6328: <type>passado sistema autônomo parâmetro <number>Quando <type>é necessário chamar <função> |
|
Aviso C6331: Parâmetro inválido: não é permitido passar MEM_RELEASE e MEM_DECOMMIT em conjunto para <função>.Isso resultados em falha desta telefonar |
|
Aviso C6332: Parâmetro inválido: não é permitido passar zero sistema autônomo o parâmetro dwFreeType para <função>.Isso resultados em falha desta telefonar |
|
Aviso C6333: Parâmetro inválido: passando parâmetros de zero dwSize e MEM_RELEASE <função>não é permitido.Isso resultados em falha desta telefonar |
|
Aviso C6334: operador sizeof aplicado a uma expressão com um operador pode produzir resultados inesperados |
|
Aviso C6335: vazamento de identificador de informações do processo <handlename> |
|
Aviso C6336: operador aritmético tem precedência sobre operador pergunta, use parênteses para esclarecer o propósito de |
|
Aviso C6381: desligado API <função>requer um dwReason válido ou lpMessage |
|
Aviso C6383: saturação devido à conversão de uma contagem do elemento em um número de byte do buffer: uma contagem do elemento é esperada para o parâmetro <number>na telefonar para <função> |
|
Aviso C6384: dividindo um ponteiro sizeof por outro valor |
|
Aviso C6385: dados inválidos: acessando < buffer nome >, dimensionar legível é <size1>bytes, mas <size2>bytes podem ser lidos: Linhas: x, y |
|
Aviso C6386: saturação do buffer: acessando < buffer nome >, o dimensionar gravável é <size1>bytes, mas <size2>bytes podem ser gravados: Linhas: x, y |
|
Aviso C6387: <argumento>talvez <valor>: Isso não está de acordo com a especificação para a função < nome da função >: Linhas: x, y |
|
Aviso C6388: <argumento>podem não estar <valor>: Isso não está de acordo com a especificação para a função < nome da função >: Linhas: x, y |
|
Aviso C6400: Usando o <nome da função > para executar um caso-diferenciação de comparar a seqüência constante < nome de seqüência de caracteres >.Produz resultados inesperados em localidades inglês |
|
Aviso C6401: Usando < nome da função > em um código de idioma padrão para realizar uma comparação não diferencia maiúsculas de minúsculas como seqüência de caracteres constante < nome de seqüência de caracteres >.Produz resultados inesperados em localidades inglês |
|
Aviso C6500: anotação inválido: valor da propriedade <nome>é inválido |
|
Aviso C6501: conflito de anotação: <nome>propriedade está em conflito com a propriedade especificada anteriormente |
|
Aviso C6503: conflito de anotação: referências não podem ser marcadas nulo = Yes ou nulo = talvez |
|
Aviso C6504: anotação inválido: propriedade pode ser usada somente em valores de ponteiro, ponteiro para o membro ou tipo de matriz |
|
Aviso C6505: anotação inválido: Propriedade MustCheck não pode ser usada nos valores do tipo void |
|
Aviso C6506: anotação inválido: propriedade <nome>pode ser usada somente em valores de ponteiro ou tipos de matriz |
|
Aviso C6507: conflito de anotação: Propriedade pelo Deref nulo = 0 em uma POST condição deve ser um subconjunto da propriedade NULL a pré-condição |
|
Aviso C6508: anotação inválido: acesso de gravar não é permitido em valores const |
|
Aviso C6509: anotação inválido: 'return' não pode ser referenciada de uma pré-condição |
|
Aviso C6510: anotação inválido: Propriedade NullTerminated pode ser usada somente em valores de ponteiro ou tipo de matriz |
|
Aviso C6511: anotação inválido: Propriedade MustCheck deve ser Sim ou não |
|
Aviso C6512: anotação inválido: Propriedade nula deve ser talvez se a propriedade válida for não |
|
Aviso C6513: anotação inválido: ElementSizeConst requer propriedades de dimensionar adicionais |
|
Aviso C6514: anotação inválido: valor da propriedade <nome>excede o dimensionar da matriz |
|
Aviso C6515 - anotação inválido: propriedade <nome>pode ser usada somente em valores de tipo de ponteiro |
|
Aviso C6516: anotação inválido: Nenhuma propriedade especificada para atributo <nome> |
|
Aviso C6517: conflito de anotação: ValidElementsConst e ValidBytesConst não podem ser especificados de buffers que não são legíveis |
|
Aviso C6518: conflito de anotação: WriteableElementsConst e WriteableBytesConst não podem ser especificados em buffers que não são graváveis |
|
Aviso C6521: especificação de dimensionar inválido: * operador somente pode ser aplicado a tipos de ponteiro |
|
Aviso C6522: especificação de dimensionar inválido: a expressão deve ser do tipo integral |
|
Aviso C6523: especificação de dimensionar inválido: parâmetro <nome>não encontrado |
|
Aviso C6525: especificação de dimensionar inválido: o valor da propriedade talvez não seja válido |
|
Aviso C6526 - especificação de dimensionar inválido: a expressão deve ser do tipo matriz ou de ponteiro |
|
Aviso 6530: estilo de seqüência de caracteres de formato não reconhecido <nome> |
|
Aviso C6535: buffer não pode ser maior que max(size_t) dimensionar <n>, |
Consulte também
Conceitos
Diretrizes para escrever código seguro