파일 속성을 설정하면서 잘못된 코드가 있음을 발견했습니다. 모양은 다음과 같습니다. -부울 대수 NOT과 DWORDs - 수정 제안
flag1 = 0x0001;
flag2 = 0x0002;
DWORD flags = flag1 | flag2;
//great - flags is 3
DWORD prevValue = 0x0010; //say
//add our new flags to prevValue
DWORD newVal = prevValue | flags;
//newVal is 19
//but now I want to remove those flags from newVal
DWORD backToPrev = newVal & !flags;
//but according to my compiler (vs2012)
//!flags is 0, it can't do the logical NOT on the DWORD
ASSERT (backToPrev); // it's 0, should be 16
수정 사항에 대한 제안 사항이 있습니까?
'~'비트 아니다. –