X86体系结构-将向量大小设置为unsigned long long

穆尼卡

当我尝试在x86体系结构中使用unsigned long long设置矢量大小时,出现以下错误:

unsigned long long sz;
vec.resize(sz);

错误C4244:“参数”:从“无符号__int64”转换为“常量无符号int”,可能丢失数据

为什么会出现此错误?x86体系结构中unsigned long long的行为是什么?如何在x86体系结构中使用无符号的long long值设置矢量大小?

彼得·科德斯

size_t sz像普通人一样使用,这是arg类型所std::vector::resize(size_t)期望的,因此使用相同类型将意味着没有隐式转换,因此也不会缩小范围。

unsigned long longsize_t32位代码中的64位类型,但只有32位。

不能std::vector大于SIZE_MAX,所以使用更宽的整数类型毫无意义。这就是MSVC所抱怨的全部。如果您实际上从未在中拥有巨大的价值sz这不是一个错误,但是您显然已经将MSVC设置为真正的书呆子,并将警告视为错误。

首先,这种隐式转换是不必要的。通过使用匹配类型避免它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

unsigned long long的问题

来自分类Dev

如何使用Ansible为Java安装x86体系结构

来自分类Dev

long long转换为unsigned long的问题

来自分类Dev

Unsigned long long overflow error?

来自分类Dev

将地图[Long,Set [Long])转换为地图[Long,Long]

来自分类Dev

为什么“自动 x = -2147483648;” 将 x 设置为 unsigned long 类型而不是 int 类型?(VS2017)

来自分类Dev

从unsigned long long转换为unsigned int

来自分类Dev

为Android x86和x86_64体系结构编译ijkplayer x264,错误:未知类型名称'v4si'

来自分类Dev

将unsigned long long int强制转换为signed long long int可能吗?

来自分类Dev

C unsigned long long和imulq

来自分类Dev

检查unsigned long long是否可用

来自分类Dev

Unsigned long long溢出错误?

来自分类Dev

奇怪的unsigned long long int行为

来自分类Dev

`unsigned long long`太小,无法代表数字?

来自分类Dev

x86-64将long转换为double

来自分类Dev

未为Long类型定义方法compare(long,long)

来自分类Dev

在C ++中混淆为“ double to long long”

来自分类Dev

C ++中long的大小

来自分类Dev

如何将unsigned long long转换为double

来自分类Dev

将unsigned long long转换为float并失去精度

来自分类Dev

无法将boost :: lambda :: ...转换为long long unsigned int

来自分类Dev

(long long)x与C ++中的(long long)floor(x)相同吗?

来自分类Dev

Printf Unsigned Long 的奇怪输出

来自分类Dev

为存档构建的静态库,不是链接的体系结构(x86_64)

来自分类Dev

该文件是为不是链接的体系结构的arm64构建的(x86_64)

来自分类Dev

Xcode错误:文件是为归档而构建的,而不是链接的体系结构(x86_64)

来自分类Dev

文件是为存档而构建的,而不是链接的体系结构(x86_64)

来自分类常见问题

unsigned long long(10)无法在clang和gcc上编译

来自分类Dev

是否可以保证std :: streampos是unsigned long long?

Related 相关文章

  1. 1

    unsigned long long的问题

  2. 2

    如何使用Ansible为Java安装x86体系结构

  3. 3

    long long转换为unsigned long的问题

  4. 4

    Unsigned long long overflow error?

  5. 5

    将地图[Long,Set [Long])转换为地图[Long,Long]

  6. 6

    为什么“自动 x = -2147483648;” 将 x 设置为 unsigned long 类型而不是 int 类型?(VS2017)

  7. 7

    从unsigned long long转换为unsigned int

  8. 8

    为Android x86和x86_64体系结构编译ijkplayer x264,错误:未知类型名称'v4si'

  9. 9

    将unsigned long long int强制转换为signed long long int可能吗?

  10. 10

    C unsigned long long和imulq

  11. 11

    检查unsigned long long是否可用

  12. 12

    Unsigned long long溢出错误?

  13. 13

    奇怪的unsigned long long int行为

  14. 14

    `unsigned long long`太小,无法代表数字?

  15. 15

    x86-64将long转换为double

  16. 16

    未为Long类型定义方法compare(long,long)

  17. 17

    在C ++中混淆为“ double to long long”

  18. 18

    C ++中long的大小

  19. 19

    如何将unsigned long long转换为double

  20. 20

    将unsigned long long转换为float并失去精度

  21. 21

    无法将boost :: lambda :: ...转换为long long unsigned int

  22. 22

    (long long)x与C ++中的(long long)floor(x)相同吗?

  23. 23

    Printf Unsigned Long 的奇怪输出

  24. 24

    为存档构建的静态库,不是链接的体系结构(x86_64)

  25. 25

    该文件是为不是链接的体系结构的arm64构建的(x86_64)

  26. 26

    Xcode错误:文件是为归档而构建的,而不是链接的体系结构(x86_64)

  27. 27

    文件是为存档而构建的,而不是链接的体系结构(x86_64)

  28. 28

    unsigned long long(10)无法在clang和gcc上编译

  29. 29

    是否可以保证std :: streampos是unsigned long long?

热门标签

归档