C++ 用一组对作为单元值实例化2D向量

C++ 用一组对作为单元值实例化2D向量,c++,vector,C++,Vector,我正在努力实例化一个二维向量(vector),其中包含一组对 我失败的方法如下所示(其中X,Y是整数,表示向量维度): vector

我正在努力实例化一个二维向量(vector),其中包含一组对

我失败的方法如下所示(其中X,Y是整数,表示向量维度):

vector>
速度(X,向量(Y,set);
我收到以下编译器错误:

./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> >));
/test.cpp:在函数“int main()”中:
./test.cpp:8:70:错误:应在“(”标记之前使用主表达式
向量>速度(X,向量(Y,set);
^
./test.cpp:8:96:错误:在“')标记之前应该有主表达式
向量>速度(X,向量(Y,set);
执行以下代码时:

#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;
int main(){
int X=10,Y=10;
向量>速度(X,向量(Y,set);
返回0;
}

看来您想要的是:

std::vector< std::vector< std::set<std::pair<int, int> > > > 
   velocities (X, std::vector<std::set<std::pair<int, int>>>(Y));
std::vector>
速度(X,std::向量(Y));

它以什么方式失败?我添加了编译器错误和一个示例。
std::vector< std::vector< std::set<std::pair<int, int> > > > 
   velocities (X, std::vector<std::set<std::pair<int, int>>>(Y));