呼叫向量没有匹配
No match for call to vector
在我的班级中,我正在尝试创建未签名的2D向量,然后在构造器中尺寸后将其初始化。这是我的班级:
class RobotWorld {
private:
int n;
vector <vector<int>> v;
public:
RobotWorld (int n){
n = n;
v(n, vector<int>(n, n));
for(int i = 0; i < n; ++i){
v[i][0] = i;
}
}
};
当我这样这样做时,我会收到一个错误:与STD :: vector无匹配。您能告诉我我的代码有什么问题以及如何改进它。
你很接近。在构建类时,所有成员都在成员初始化器列表中初始初始化。这是您的初始化需要的地方。当您在构造函数主体中进行操作时,执行variable_name(stuff)
试图调用函数调用操作员而不是构造函数。这就是为什么您会遇到编译器错误,因为vector
没有此类操作员。我们可以将代码更改为
RobotWorld (int n) : n(n), v(n, vector<int>(n, n)){
for(int i = 0; i < n; ++i){
v[i][0] = i;
}
}
现在n
和v
都适当初始化,然后操纵向量。
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 呼叫运营商<<临时
- 计算排序向量的向量中唯一值的计数
- 矩阵向量乘法(cublasDgemv)返回零
- 从指针向量呼叫多态函数到基类
- 呼叫向量没有匹配
- 将STD向量作为参考:无匹配函数要呼叫