收到错误 CS0031:常量值"65535"无法转换为"短"
Getting error CS0031: Constant value `65535' cannot be converted to a `short'
我在这一行收到上述错误:
Int16 maskBits = 0xFFFF;
我这样做是因为我正在使用用C++编写的Box2D库。它在这里说:
"类别位的默认值0x0001,掩码位的默认值0xFFFF"
我认为0xFFFF或 65535 是Int16
的最大值?
编辑:应该是UInt16 duuh!! 谢谢大家!
0xFFFF用于UInt16。对于 Int16,最大值为 32767。
0xFFFF
肯定不是 16 位有符号文字,它至少(取决于您的语言:您标记了一对)32 位,值为 65535。转换为有符号 16 位有符号数字将失败,因为最大值为 32767。
int16 的最大值为 32767,这是0x7FFF
int16
的最大值为签名时的 32767(最小值为 -32768)
您需要一个uint16
类型(因为它是无符号的)。这将为您提供最大值 65535(即 0xFFFF)和最小值 0。
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 复制列表初始化的隐式转换的等级是多少
- 正在将指针转换为范围
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 是否可以从int转换为enum类类型
- 为什么我可以在 C++ 中将 65535+1 转换为有效的 int
- 收到错误 CS0031:常量值"65535"无法转换为"短"