C++ 如何动态创建二维向量

2023-12-08

我正在尝试创建一个 n x n 向量,稍后我可以cout作为表格/矩阵。 Xcode 指向= in the for循环并告诉我No viable overloaded '='。我不知道这意味着什么或如何解决它。

int n=5;
vector< vector<int> > row(n);
for (int i=0; i<n; i++) {
   row[i] = new vector<int> column(n);
}

也尝试过这个,但是 Xcode 也不喜欢它,这次指向column并且说Expected ')' :

int n=5;
vector< vector<int> > row;
for (int i=0; i<n; i++) {
   row.push_back(new vector<int> column(n));
}

我的猜测是这与我声明新向量的方式有关column在 - 的里面for环形。非常感谢任何帮助/建议。谢谢。


简单的解决方案是使用相关的的构造函数std::vector,将其初始化为n每个元素的值为val- 无需循环。

std::vector<T> (n, val);

有了您的原始片段,我们最终会得到以下内容,这将初始化行以具有n std::向量s,其中每一个都有n元素。

std::vector<std::vector<int> > row (n, std::vector<int> (n));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 如何动态创建二维向量 的相关文章

随机推荐