gpt4 book ai didi

c++ - vector 下标超出 vector vector 的范围

转载 作者:行者123 更新时间:2023-11-30 00:42:55 27 4
gpt4 key购买 nike

也许已经晚了,但我不明白为什么我会得到一个超出此代码范围的 vector 下标:

int m = 3;
int n = 2;
std::vector<std::vector<int>> path(m, std::vector<int>(n, 0));
for (int i = 0; i < path.size(); ++i)
path[0][i] = 1;
for (int i = 0; i < path[0].size(); ++i)
path[i][0] = 1;

谁能告诉我这里出了什么问题?

最佳答案

您没有正确使用索引。

for (int i = 0; i < path.size(); ++i)
path[0][i] = 1;

需要

for (int i = 0; i < path.size(); ++i)
path[i][0] = 1; // Swap i and 0

for (int i = 0; i < path[0].size(); ++i)
path[i][0] = 1;

需要

for (int i = 0; i < path[0].size(); ++i)
path[0][i] = 1; // Swap i and 0

关于c++ - vector 下标超出 vector vector 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57320093/

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