gpt4 book ai didi

c++ - C3321 : an initializer list is unexpected in this context

转载 作者:太空狗 更新时间:2023-10-29 21:17:35 32 4
gpt4 key购买 nike

在我的代码中有一些这样的语句:

auto buffer = boost::shared_ptr<std::vector<uint8_t>>(new std::vector<uint8_t>() { 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x05, 0x00, 0x00 });

在 Visual Studio 2013 中,这些行编译没有任何问题。但在 Visual Studio 2015 中,我收到以下错误:

C3321: an initializer list is unexpected in this context

上面的说法有什么问题吗?

最佳答案

New-initializer 语法接受带有可选表达式列表的(),一个花括号初始化器列表,但不能同时接受,所以只需删除多余的 () 在打开后面的花括号初始化器列表之前:

auto buffer = boost::shared_ptr<std::vector<uint8_t>>(
new std::vector<uint8_t> { 0x0A, 0x00, /**/ }
// ~^~ ~^~
);

关于c++ - C3321 : an initializer list is unexpected in this context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479462/

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