试图编译以下代码片段
static std::vectorproduceStrings(int n) { std::size_t vsize = 4 * n; auto v = std::vector { vsize }; // ... }
在VS2015给我错误:
error C2398: Element '1': conversion from 'size_t' to 'wchar_t' requires a narrowing conversion
替换v
by 的定义
std::vectorv(vsize);
但是,有效.vsize
用例如10 代替也可以.
为什么?
编辑:我正在编译32位.
std::vector
尝试创建一个仅包含元素的向量,该元素vsize
执行转换size_t
为wchar_t
.
std::vector
构造一个vsize
保留元素的向量,这非常好.