我有代码:
unsigned int length = strlen(somestring);
我正在使用 4 的警告级别进行编译,它告诉我当 a是 a时“从size_t
to转换unsigned int
,可能丢失数据” 。size_t
typedef
unsigned int
为什么!?
编辑:
我刚刚解决了我自己的问题。我是 XP 用户,我的编译器正在检查 64 位兼容性。由于size_t
依赖于平台,因此对于 64 位,它将是unsigned long long
,这与unsigned int
.