gpt4 book ai didi

c++ - 无法将参数 5 从 'SIZE_T *' 转换为 'size_t *'——为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 15:52:49 29 4
gpt4 key购买 nike

我在为 32 位编译时遇到此错误。相同的文件在 64 位 Windows 上编译没有错误

1>c:\project\test.cpp(1317) : error C2664: 'StringCbCopyExW' : cannot convert parameter 5 from 'SIZE_T *' to 'size_t *'

SIZE_T 和 size_t 的大小和符号都相同,那么有什么区别呢?为什么我需要类型转换?如果类型不同,为什么这仅在 32 位 Windows 上出现错误?

最佳答案

SIZE_T 不同于 std::size_t。第一个是 Windows header 中的 #defined 类型,第二个是 C++ 编译器定义的类型。它们是不同的类型。

至少在我的系统上,SIZE_TULONG_PTRtypedef,它是 #define unsigned long.

关于c++ - 无法将参数 5 从 'SIZE_T *' 转换为 'size_t *'——为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215214/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com