c++ - 用一组对作为单元格值实例化二维 vector

标签 c++ vector

我正在努力实例化包含一组对的 2D vector (vector< vector >)。

我失败的方法看起来像这样(其中 X、Y 是整数并代表 vector 维度):

vector< vector< set< pair<int, int> > > > 
       velocities (X, vector<int>(Y, set < pair<int, int> >));

我收到以下编译器错误:

./test.cpp: In function 'int main()':
./test.cpp:8:70: error: expected primary-expression before '(' token
  vector< vector< set< pair<int, int> > > > velocities (X, vector<int>(Y, set < pair<int, int> >));
                                                                      ^
./test.cpp:8:96: error: expected primary-expression before ')' token
  vector< vector< set< pair<int, int> > > > velocities (X, vector<int>(Y, set < pair<int, int> >));

执行以下代码时:

#include <vector>
#include <set>
#include <utility>
using namespace std;

int main() {
    int X = 10, Y = 10;
    vector< vector< set< pair<int, int> > > > velocities (X, vector<int>(Y, set < pair<int, int> >));
    return 0;
}

最佳答案

看来你想要的是:

std::vector< std::vector< std::set<std::pair<int, int> > > > 
   velocities (X, std::vector<std::set<std::pair<int, int>>>(Y));

Live example

关于c++ - 用一组对作为单元格值实例化二维 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075660/

相关文章:

c++ - 在 C++ 中,为什么我可以访问在没有命名空间限定符的命名空间中定义的函数

c++ - boost 结构和类的 fusion 序列类型和名称识别

c++ - 我怎样才能优化我的程序?

c++ - 错误 : No instance of constructor "Faktura::Faktura" matches the argument list

c++ - 我如何使用 const 指针向后插入一个 vector

c++ - 模板成员函数签名与非模板成员函数签名冲突

c++ - 装饰器与策略模式(与?)扩展功能

C++ - Pthread 如何发送值

arrays - 如何制作大型二维矩阵

c++ - 逆运动学 ACos 误差 QNAN、INAN