gpt4 book ai didi

C++ 如何动态创建二维 vector

转载 作者:行者123 更新时间:2023-11-30 01:49:29 31 4
gpt4 key购买 nike

我正在尝试创建一个 n x n vector ,稍后我可以将其cout 作为表格/矩阵。 Xcode 指向 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));
}

我的猜测是它与我在 for 循环中声明新 vector column 的方式有关。非常感谢任何帮助/建议。谢谢。

最佳答案

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

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

有了您的原始代码段,我们将得到以下结果,它将初始化行以具有 n std::vector,每个具有 n 元素。

std::vector<std::vector<int> > row (n, std::vector<int> (n));

关于C++ 如何动态创建二维 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29072961/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com