我正在尝试实现一个矩阵框,为了实现这一点,我有在另一个向量内的向量中使用一个集合。
vector<vector<set<int> > > matrix;
但是我必须在构造函数中设置向量的大小,所以我尝试了这个
matrix(3,vector<set<int> >(4));
然而它给了我一个错误 type 'vector<vector<set<int> > >' does not provide a call operator
。
有人可以解释为什么会这样吗?
答案 0 :(得分:1)
该行
matrix(3,vector<set<int> >(4));
不会调用构造函数,但会尝试调用operator()()
的重载调用操作符(std::vector
),该操作符不提供。
调用构造函数write
vector<vector<set<int> > > matrix(3,vector<set<int> >(4));