使用一组对作为单元格值实例化2D矢量

时间:2014-09-27 14:28:14

标签: c++ vector

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

我的失败方法看起来像这样(其中X,Y是整数并表示向量维度):

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;
}

1 个答案:

答案 0 :(得分:1)

似乎你想要的是:

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

Live example