4
, 나는이 CPP 파일상당히 큰 코드베이스에서
int main()
{
bool b;
//... some code ...;
b = "False"
}
에 다음 구조 (다시 조각)을 발견 GCC에서 부울 변환 리터럴 문자열에 대한 경고이 완전히 합법적 인 코드가되어 있지만, 명확하게 고의적이지 않다. 그것은 쉽게 고칠 수 있지만 2014 년 이후로 누구도 눈치 채지 못했기 때문에 존재했기 때문에 분명히 발견하기가 쉽지 않습니다.
gcc가 이에 대해 경고 할 수 있습니까?
g ++ 7도 clang ++ 5도'-Wall -Wextra -Wpedantic'로 경고하지 않습니다. 와우. –
fyi :'bool b { "거짓"}; "도 컴파일됩니다. 그러나'char const pc [] = "false"; bool b {pc}; 경고 : _ "경고 : 'pc'의 주소는 항상 'true'로 평가됩니다 [-Waddress]"_ –
[여기] (https://gcc.gnu.org) /onlinedocs/gcc/Warning-Options.html) 아무것도 찾을 수 없습니다. – NathanOliver