使用INT32的C :隐式转换失去整数精度

C++ Using INT32: Implicit conversion loses integer precision

本文关键字:转换 失去 整数 精度 INT32 使用      更新时间:2023-10-16

我目前正在学习C ,我很好奇是否有我得到的警告。

我正在使用 int32 来定义我的整数。尝试设置一个使用 .length() function的字符串长度时,我会收到以下错误。

所讨论的代码线如下:

int32 HiddenWordLength = MyHiddenWord.length();

非常感谢!

MyHiddenWord.length();没有返回 int32 type,编译器将默默适应/转换为 int32 您可以使用该隐式操作丢失信息。

string.length()返回类型size_t的值(定义为无符号int)。编译器会发出警告,因为您的INT32变量可能无法保持从.length()方法返回的值,因为INT32类型可以保持范围–2,147,483,648至2,147,483,6470到4,294,967,295。