【发布时间】:2020-02-06 12:10:46
【问题描述】:
我正在尝试像这样初始化一个向量:
std::vector<u8> ConstPldData =
{ 0x30, 0x30, 0x30, 0x32, 0x30, 0x35, 0x31, 0x34, 0x30, 0x30, 0x30, 0x38, 0x31, 0x30 };
但我总是遇到同样的错误:
error: could not convert '{48, 48, 48, 50, 48, 53, 49, 52, 48, 48, 48, 56, 49, 48}' from '<brace-enclosed initializer list>' to 'std::vector<unsigned char>'
有什么线索吗?
【问题讨论】:
-
你用的是什么编译器?哪个版本的编译器?构建时您有哪些标志和选项?您显示的内容自 C++11 标准起就有效,因此您的编译器非常旧,或者在构建使用 C++11(或更高版本)标准时没有设置正确的标志/选项。
-
ConstPldData不使用conststd::vector... 奇怪。 -
该错误消息与 C++11 之前的编译器一致。所以我同意 Someprogrammerdude - 你的编译器早于 C++11,或者你正在构建 C++11 之前的模式。
标签: c++ vector initialization