루블레사하
오리지널 포스터- 2008년 12월 22일
- 2009년 1월 8일
이 코드 조각을 사용하고 있습니다.
무효 * 핸들_;
if (handle_ =dlopen('/System/Library/Frameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('............');
}
else if (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('..................');
}
그러나 나는 경고를 받고 있습니다 :
첫 번째 줄, 즉 'for' 루프에 대해 '진리값으로 사용되는 할당 주위에 괄호를 제안합니다. .... 누군가가 이 경고를 없애도록 도와줄 수 있습니까? 에게
크푸아
- 2006년 7월 25일
- 2009년 1월 8일
그러나 때로는 이것이 의미하는 바를 코딩하는 가장 간단한 방법입니다(귀하의 예에 반드시 그런 것은 아니지만). if 문에 할당이 있는 경우 GCC는 일반적으로 다음과 같이 예상합니다.
코드: |_+_|
할당 주위에 추가 괄호를 확인하십시오. GCC는 다음 오류를 피하기 위해 괄호를 사용할 것을 제안합니다.
코드: |_+_|
foo에 할당된 값이 NULL인지 확인하지 않고 부울(bar() != NULL)을 foo에 할당합니다.
또한 명시적 부울 검사가 있는 것이 관례이고 일반적으로 더 명확하므로 GCC가 이를 기대하는 이유입니다. NS
샌더
에게
- 2008년 4월 24일
- 2009년 1월 9일
코드: |_+_|
C는 정확하지만(b를 에 할당하고 0이 아닌 경우 확인), 대부분의 경우 사람들은 실제로
코드: |_+_|
if() 내부의 할당은 예외이므로 GCC는 이에 대한 경고를 발행합니다. 또한 미래의 코드 독자를 위해 추가 괄호는 '예, 여기에서 할당을 의미합니다'를 나타냅니다.
인기 게시물