2014-09-27 3 views
-7

나는 여기서 새로운 지식을 가지고 있으며 나는이 공동체에 아무런 기여도하지 않았다. 첫 번째 질문과 같은 와인. 저는 초급 C++입니다. 나는 몇 가지를 볼 수 있기 때문에 내가 페이스트 빈에 넣어C++ : 부호있는 정수 표현과 부호없는 정수 표현의 비교

여기
In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)': 

가 COMPLET FILE.CPP

입니다 : 소스를 컴파일 할 때이 문제가

...이 정확히 오류 메시지입니다 코드처럼

http://pastebin.com/UAAbm4yU 그것은 경고처럼 보인다

+0

'unsigned int' 리터럴은'1u'처럼 보입니다. –

+2

커뮤니티를 돕기 위해 명확하고 간결한 질문을하십시오. 게시 한 코드의 대부분은 문제와 관련이 없습니다. –

답변

0

여기

입니다
if (level >= _countof(beltGradeByLevelTable)) 

당신은 수준

(unsigned int legel) 

하거나

if (static_cast<unsigned int>(level) >= _countof(beltGradeByLevelTable)) 

을하거나 무시하거나 경고를 비활성화 할 수 있습니다.

+1

이것은 경고가 경고하는 문제에 해당합니다. 'level'이 음수이면 테스트가 실패해야합니다. '_countof'를'int'로 형 변환하는 것이 낫습니다. –

+0

감사합니다 user3344003, 그것의 작동합니다. –