c++ - 有没有办法将 vector 成对放在方括号中

标签 c++

因此,我想将此 vector 对成一对动画状态。但是,这显然不起作用,因为它显然与参数列表不匹配。所以基本上我的问题是,有没有办法在不使用方括号的情况下成对创建 vector ?这是我的代码。

std::vector < std::pair < std::string, std::vector < int > > > animations ={
    std::make_pair("PlayerStand.png", { 0,0,0,0 })
};
我确信这个问题对任何C++专家来说都是很容易的,但是我已经搜索了 vector 参数列表,但是没有运气。

最佳答案

大括号的初始化器列表是无类型的,并且不能与转发引用(例如std::make_pair的构造函数中使用的转发引用)一起使用时推导。您必须明确输入它们:

std::pair < std::string, std::vector < int > > animations ={
    std::make_pair("PlayerStand.png", std::vector<int>{ 0,0,0,0 })
};

关于c++ - 有没有办法将 vector 成对放在方括号中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63333462/

相关文章:

c++ - 从C++中的对象中获取数组

c++ - 是否可以通过桶迭代器从 std::unordered_set 中删除元素?

c++ - 为什么在 C 和 C++ 中应避免使用 system() 函数?

c++ - QuarkXPress XDK

c++ - WinRT WRL ABI 集合

c++ - 如何在 Qt 中安装自定义小部件?

c++ - 什么是仅 header 库

c++ - MySQL C++ 连接器错误代码列表

c++ - gdb 与 xxd 转储中的地址

c++ - 字符是否在 C 表达式中自动提升?