我正在努力实例化一个包含一组对的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;
}
答案 0 :(得分:1)
似乎你想要的是:
std::vector< std::vector< std::set<std::pair<int, int> > > >
velocities (X, std::vector<std::set<std::pair<int, int>>>(Y));