typedef signed long CFIndex
을 typedef unsigned int NSUInteger
으로 변환하려면 어떻게해야합니까?CFIndex을 NSUInteger로 변환 하시겠습니까?
NSUInteger
의 인수로 CFIndex
을 사용하면 문제가 없습니다. 나는 그것을 캐스팅하지 않았고 컴파일러는 마음에 들지 않는 것처럼 보인다. 컴파일러가 나를 위해 변환을 수행합니까?
typedef signed long CFIndex
을 typedef unsigned int NSUInteger
으로 변환하려면 어떻게해야합니까?CFIndex을 NSUInteger로 변환 하시겠습니까?
NSUInteger
의 인수로 CFIndex
을 사용하면 문제가 없습니다. 나는 그것을 캐스팅하지 않았고 컴파일러는 마음에 들지 않는 것처럼 보인다. 컴파일러가 나를 위해 변환을 수행합니까?
예, 컴파일러는 implicit type conversion을 수행합니다.
CFIndex가 서명되어 있고 NSUInteger가 서명되지 않았으므로 여기서주의해야합니다. CFIndex -1을 반환하는 다양한 루틴이 있습니다. NSUInteger로 사용하기 전에 확인해야합니다.
어떻게 확인하나요? – ma11hew28
if (index> = 0) {NSUInteger uIndex = (NSUInteger) index; ...} else {error-or-return-or-whatever; } –