【发布时间】:2019-04-24 19:18:26
【问题描述】:
我目前有以下代码
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) 会失败?关于如何解决此问题的任何建议?
【问题讨论】:
-
什么是错误?
-
好的让我更新
-
您发生了超过 1 次用户定义的转化。通过
vector<string>{"A,","B","C"}修复它。
标签: c++ c++11 uniform-initialization