gpt4 book ai didi

c++ - 将初始化列表传递给基于 vector 的构造函数

转载 作者:行者123 更新时间:2023-11-30 02:15:42 25 4
gpt4 key购买 nike

我目前有以下代码

class test
{
public:
test(std::vector<std::string> str)
{
}
test()
{
}
const std::multimap<int, std::multimap<int, test>> _var= {
{0x01, {
{
0x0f, {"A", "B", "C", "D"}
}
}
}
};
};

int main()
{
test t;
}

错误:

main.cpp:29:9: error: could not convert '{{1, {{15, {"A", "B", "C", "D"}}}}}' from '<brace-enclosed initializer list>' to 'const std::multimap<int, std::multimap<int, test> >'
};
^

我想知道为什么将 {"A", "B", "C", "D"} 传递给 std::vector<std::string> str)失败了吗?关于如何解决此问题的任何建议?

最佳答案

您需要另一副牙套。使用:

0x0f, {{"A", "B", "C", "D"}}

否则,编译器会尝试使用参数 "A"、"B"、"C"、"D" 构造一个 test,就像 test{"A", "B", "C", "D"},这是行不通的。

关于c++ - 将初始化列表传递给基于 vector 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55837133/

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