我有代码:
unsigned int length = strlen(somestring);
Run Code Online (Sandbox Code Playgroud)
我与4警告级别编译和它告诉我,"转换,从size_t到unsigned int,可能的数据丢失",当size_t是typedef一个unsigned int.
为什么!?
编辑:
我刚解决了自己的问题.我是XP用户,我的编译器正在检查64位兼容性.由于size_t是平台相关的,对于64位,它将是一个unsigned long long,其中它与a不同unsigned int.
因为unsigned int你机器上的类型比较窄size_t.最有可能的size_t是64位宽,而宽度unsigned int为32位.
编辑:size_t不是unsigned int的typedef.
| 归档时间: |
|
| 查看次数: |
5181 次 |
| 最近记录: |