C6269
경고 C6269: 연산 순서가 잘못된 것 같습니다. 역참조가 무시되었습니다.
이 경고는 포인터 역참조의 결과가 무시되어 포인터가 첫 번째 위치에서 역참조되는 이유에 대한 의문이 발생했음을 나타냅니다.
컴파일러에서 불필요한 역참조를 올바르게 최적화합니다.하지만 일부 경우 이 오류는 우선 순위 또는 논리에 오류가 있음을 나타냅니다.
이 오류의 일반적인 원인 중 하나는 폼의 식 문입니다.
*p++;
이 문이 단순히 포인터 p를 증가시키기 위한 것이라면 역참조가 필요하지 않습니다. 하지만 p가 가리키는 위치를 증가시키기 위한 것이라면 *p++ 구문이 (*p)++ 대신 * (p++)로 해석되기 때문에프로그램이 의도대로 동작하지 않습니다.
예제
다음 코드에서는 이 경고를 발생시킵니다.
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
*p++;
// code ...
}
이 경고를 해결하려면 다음 코드에서처럼 괄호를 사용합니다.
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
(*p)++;
// code ...
}