C6269
Aviso C6269: possível ordem incorreta de operações: cancelam ignorado
Este aviso indica que o resultado de um ponteiro de cancelamento de referência está sendo ignorado, que eleva a questão de referência por que o ponteiro está sendo cancelado em primeiro lugar.
O compilador corretamente otimizará fora o desreferenciamento gratuito.Em alguns casos, no entanto, esse defeito pode refletir um erro de lógica ou de precedência.
Uma causa comum para esse defeito é uma instrução de expressão do formulário:
*p++;
Se a intenção desta declaração é simplesmente incrementar o ponteiro p, em seguida, cancelar a referência não é necessário; No entanto, se a intenção for incrementar o local que p está apontando para, em seguida, o programa não irão se comportar conforme o esperado porque * p + + construção é interpretada como * (p++).em vez de (*p)++.
Exemplo
O código a seguir gera este aviso:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
*p++;
// code ...
}
Para corrigir esse aviso, use parênteses, como mostrado no código a seguir:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
(*p)++;
// code ...
}