gpt4 book ai didi

c++ - 从 size_t 到 wchar_t 的转换需要收缩转换

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:28 25 4
gpt4 key购买 nike

尝试编译以下代码片段

static std::vector<wchar_t> produceStrings(int n) {
std::size_t vsize = 4 * n;
auto v = std::vector<wchar_t>{ vsize };
// ...
}

在 VS2015 中给我错误:

error C2398: Element '1': conversion from 'size_t' to 'wchar_t'
requires a narrowing conversion

v 的定义替换为

std::vector<wchar_t> v(vsize);

但是,有效。将 vsize 替换为 10 也可以。

为什么?

编辑:我正在为 32 位编译。

最佳答案

std::vector<wchar_t>{ vsize };尝试创建一个仅包含元素 vsize 的 vector 在其中,它从 size_t 进行转换至 wchar_t .

std::vector<wchar_t>(vsize);vsize 构造一个 vector 保留元素,这非常好。

关于c++ - 从 size_t 到 wchar_t 的转换需要收缩转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098496/

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