Partilhar via


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

C6001

Aviso C6001: usando a memória não inicializada <variável>

C6011

Aviso C6011: desreferência de ponteiro nulo <nome>

C6029

Aviso C6029: possível saturação de buffer na telefonar para <função>: uso de valor não verificado

C6031

Aviso C6031: Retorna valor ignorado: <função>poderia retornar valor inesperado

C6053

Aviso C6053: telefonar para <função>pode não zero-rescindir seqüência <variável>

C6054

Aviso C6054: string <variável>pode não ser terminada em zero

C6057

Aviso C6057: saturação devido ao número de caracteres/número de bytes incompatibilidade na telefonar para <função>de buffer

C6059

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>

C6063

Aviso C6063: argumento string ausente para <função>correspondente à conversão especificador <number>

C6064

Aviso C6064: argumento inteiro ausente para <função>correspondente à conversão especificador <number>

C6066

Aviso C6066: não ponteiro transmitido sistema autônomo parâmetro <number>quando o ponteiro é necessário chamar <função>

C6067

Aviso C6067: parâmetro <number>na telefonar para <função>deve ser o endereço da seqüência de caracteres

C6200

Aviso C6200: índice <nome>está fora do intervalo de índice válido <min>para <max>para o buffer de pilha não <variável>

C6201

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>

C6202

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>

C6203

Aviso C6203: saturação de buffer para buffer <variável>na telefonar para <função>: comprimento <dimensionar>excede o dimensionar do buffer

C6204

Aviso C6204: possível saturação de buffer na telefonar para <função>: uso de parâmetro não-verificado <variável>

C6209

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?

C6211

Aviso C6211: Vazando memória <ponteiro>devido a uma exceção.Considere o uso de um bloco catch local para limpar a memória

C6214

Aviso C6214: Converter entre tipos inteiros semanticamente diferentes: HRESULT para um tipo booliano

C6215

Aviso C6215: Converter entre tipos inteiros semanticamente diferentes: Digite um valor booliano para HRESULT

C6216

Aviso C6216: inserido de compilador conversão entre tipos integrais semanticamente diferentes: Digite um valor booliano para HRESULT

C6217

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

C6219

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

C6220

Aviso C6220 - conversão implícita entre diferentes semanticamente inteiro tipos: Comparando HRESULT como -1.Em vez disso, use macro teve êxito ou falha

C6221

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

C6225

Aviso C6225: Conversão implícita entre diferentes semanticamente inteiro tipos: atribuindo 1 ou verdadeiro para HRESULT.Em vez disso, use S_FALSE

C6226

Aviso C6226: Conversão implícita entre diferentes semanticamente inteiro tipos: atribuindo -1 a HRESULT.Em vez disso, use E_FAIL

C6230

Aviso C6230: conversão implícita entre tipos inteiros semanticamente diferentes: usando o HRESULT em um contexto booliano

C6235

Aviso C6235: (< constante diferente de zero > || <expressão>) é sempre uma constante diferente de zero

C6236

Aviso C6236: (<expressão>|| < constante diferente de zero >) é sempre uma constante diferente de zero

C6237

Aviso C6237: (<zero>&& <expressão>) é sempre zero.<expressão>nunca é avaliado e pode causar efeitos colaterais

C6239

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?

C6240

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?

C6242

Aviso C6242: Um salto fora desse bloco try força desenrolamento local.Gera a penalidade de desempenho

C6244

Aviso C6244: declaração de local de <variável>oculta declaração anterior em <linha><arquivo>

C6246

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>.

C6248

Aviso C6248: a configuração DACL do SECURITY_DESCRIPTOR para nulo resultará em um objeto desprotegido

C6250

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

C6255

Aviso C6255: _alloca indica falha levantando uma exceção de estouro de pilha.Em vez disso, use _alloca_s

C6258

Aviso C6258: usar TerminateThread não permite thread adequada de Limpar

C6259

Aviso C6259: código rotulado é inacessível: (<expressão>& <constante>) no comutador expr não é possível avaliar <caso-rótulo>

C6260

Aviso C6260: sizeof * sizeof quase sempre está errada, você pretendia usar um número de caractere ou uma contagem de byte?

C6262

Aviso C6262: Função usa <constante>bytes da pilha: excede /ANALYZE: stacksize <constante>.Considere a possibilidade de mover alguns dados para pilha

C6263

Aviso C6263: usando _alloca em um loop; isso pode estourar rapidamente pilha

C6268

Aviso C6268: Ordem incorreta de operações: (<type1>) (<type2>) x + y.Possíveis parênteses faltando na (<type1>) ((<type2>) x + y)

C6269

Aviso C6269: ordem incorreta possível de operações: Cancelar a referência ignorada

C6270

Aviso C6270: argumento ausente float <função>: Adicionar um argumento float correspondente <number>especificador de conversão

C6271

Aviso C6271: argumento extra passado para <função>: parâmetro <number>não é usado pela seqüência de caracteres de formato

C6272

Aviso C6272: float não são passadas sistema autônomo argumento <number>quando float é necessária na telefonar para <função>

C6273

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

C6274

Aviso C6274: caractere não passados sistema autônomo parâmetro <number>ao caractere é necessária em telefonar para <função>

C6276

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

C6277

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

C6278

Aviso C6278: <variável>é alocado com [] de novo array, mas excluído com excluir escalar.Destruidores não serão chamados

C6279

Aviso C6279: <variável>é alocada com escalar novo, excluídos com [] de excluir de array

C6280

Aviso C6280: <variável>é alocada com <função>, mas excluído com <função>

C6281

Aviso 6281 - ordem incorreta de operações: operadores relacionais têm precedência maior do que os operadores bit a bit

C6282

Aviso C6282: Operador incorreto: atribuição de constante no contexto booliano.Considere o uso de '==' em vez disso

C6283

Aviso C6283: <variável>é alocado com [] de novo array, mas excluído com excluir escalar

C6284

Aviso C6284: objeto passado sistema autônomo parâmetro '% d' quando seqüência é exigida na telefonar para <função>.

C6285

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?

C6286

Aviso C6286: (< constante diferente de zero > || <expressão>) é sempre uma constante diferente de zero.<expressão>nunca é avaliado e pode causar efeitos colaterais

C6287

Aviso C6287: código redundante: subexpressões esquerdas e direita são idênticos

C6288

Aviso C6288: Operador incorreto: inclusão mútua sobre && é sempre zero.Você fez a intenção de usar || em vez disso?

C6289

Aviso C6289: Operador incorreto: exclusão mútua sobre || sempre é uma constante diferente de zero.Você pretendia usar && em vez disso?

C6290

Aviso C6290: Operação bit a bit no resultado lógico: !tem precedência maior do que &.Uso && ou (!(x & y)) em vez disso

C6291

Aviso C6291: Operação bit a bit no resultado lógico: !tem precedência maior do que |.Uso || ou (!(x | y)) em vez disso

C6292

Aviso C6292: mal definido para loop: contagens até no máximo

C6293

Aviso C6293: Mal definido para loop: contagens abaixo do mínimo

C6294

Aviso C6294: Mal definido para loop: condição inicial não satisfaz teste.Corpo do loop não executado

C6295

Aviso C6295: Mal definido para loop: <variável>valores são do intervalo "min" para "máximo".Loop executado indefinidamente

C6296

Aviso C6296: Mal definido para loop: Corpo do loop executado apenas uma vez

C6297

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

C6298

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

C6299

Aviso C6299: Comparar um campo de bit para um tipo booliano explicitamente produzirá resultados inesperados

C6302

Aviso C6299: Comparar um campo de bit para um tipo booliano explicitamente produzirá resultados inesperados

C6303

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>

C6305

Aviso C6305: potencial incompatibilidade entre as quantidades sizeof e countof

C6306

Aviso C6306: telefonar incorreta para <função>: Considere o uso de <função>que aceita um va_list sistema autônomo um argumento

C6308

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

C6309

Aviso C6309: argumento <number>é nulo: Ele não está de acordo com a especificação de função de <function>

C6310

Aviso C6310: constante inválido no filtro de exceção pode causar um comportamento inesperado

C6312

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

C6313

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

C6314

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

C6315

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

C6316

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

C6317

Aviso C6317: operador incorreto: não lógico (!) não é intercambiável com aqueles complemento (~)

C6318

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

C6319

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

C6320

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

C6322

Aviso C6322: bloco _except vazio

C6323

Aviso 6323 - uso do operador aritmético em tipo booliano

C6324

Aviso C6324: uso incorreto potencial <function1>: Você pretendia usar <function2>?

C6326

Aviso C6326: comparação potencial de uma constante com outra constante

C6327

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

C6328

Aviso C6328: <type>passado sistema autônomo parâmetro <number>Quando <type>é necessário chamar <função>

C6331

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

C6332

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

C6333

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

C6334

Aviso C6334: operador sizeof aplicado a uma expressão com um operador pode produzir resultados inesperados

C6335

Aviso C6335: vazamento de identificador de informações do processo <handlename>

C6336

Aviso C6336: operador aritmético tem precedência sobre operador pergunta, use parênteses para esclarecer o propósito de

C6381

Aviso C6381: desligado API <função>requer um dwReason válido ou lpMessage

C6383

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>

C6384

Aviso C6384: dividindo um ponteiro sizeof por outro valor

C6385

Aviso C6385: dados inválidos: acessando < buffer nome >, dimensionar legível é <size1>bytes, mas <size2>bytes podem ser lidos: Linhas: x, y

C6386

Aviso C6386: saturação do buffer: acessando < buffer nome >, o dimensionar gravável é <size1>bytes, mas <size2>bytes podem ser gravados: Linhas: x, y

C6387

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

C6388

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

C6400

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

C6401

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

C6500

Aviso C6500: anotação inválido: valor da propriedade <nome>é inválido

C6501

Aviso C6501: conflito de anotação: <nome>propriedade está em conflito com a propriedade especificada anteriormente

C6503

Aviso C6503: conflito de anotação: referências não podem ser marcadas nulo = Yes ou nulo = talvez

C6504

Aviso C6504: anotação inválido: propriedade pode ser usada somente em valores de ponteiro, ponteiro para o membro ou tipo de matriz

C6505

Aviso C6505: anotação inválido: Propriedade MustCheck não pode ser usada nos valores do tipo void

C6506

Aviso C6506: anotação inválido: propriedade <nome>pode ser usada somente em valores de ponteiro ou tipos de matriz

C6507

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

C6508

Aviso C6508: anotação inválido: acesso de gravar não é permitido em valores const

C6509

Aviso C6509: anotação inválido: 'return' não pode ser referenciada de uma pré-condição

C6510

Aviso C6510: anotação inválido: Propriedade NullTerminated pode ser usada somente em valores de ponteiro ou tipo de matriz

C6511

Aviso C6511: anotação inválido: Propriedade MustCheck deve ser Sim ou não

C6512

Aviso C6512: anotação inválido: Propriedade nula deve ser talvez se a propriedade válida for não

C6513

Aviso C6513: anotação inválido: ElementSizeConst requer propriedades de dimensionar adicionais

C6514

Aviso C6514: anotação inválido: valor da propriedade <nome>excede o dimensionar da matriz

C6515

Aviso C6515 - anotação inválido: propriedade <nome>pode ser usada somente em valores de tipo de ponteiro

C6516

Aviso C6516: anotação inválido: Nenhuma propriedade especificada para atributo <nome>

C6517

Aviso C6517: conflito de anotação: ValidElementsConst e ValidBytesConst não podem ser especificados de buffers que não são legíveis

C6518

Aviso C6518: conflito de anotação: WriteableElementsConst e WriteableBytesConst não podem ser especificados em buffers que não são graváveis

C6521

Aviso C6521: especificação de dimensionar inválido: * operador somente pode ser aplicado a tipos de ponteiro

C6522

Aviso C6522: especificação de dimensionar inválido: a expressão deve ser do tipo integral

C6523

Aviso C6523: especificação de dimensionar inválido: parâmetro <nome>não encontrado

C6525

Aviso C6525: especificação de dimensionar inválido: o valor da propriedade talvez não seja válido

C6526

Aviso C6526 - especificação de dimensionar inválido: a expressão deve ser do tipo matriz ou de ponteiro

C6530

Aviso 6530: estilo de seqüência de caracteres de formato não reconhecido <nome>

C6535

Aviso C6535: buffer não pode ser maior que max(size_t) dimensionar <n>,

Consulte também

Conceitos

Diretrizes para escrever código seguro

Outros recursos

Detectar e corrigir defeitos de código em C/C++