想问一下大家,如何给使用vector定义的类的数组初始化呢?

就是像这样的,运行一直说vector长度超了,但是我又不知道如何解决这个问题owo
我努力整了俩小时了,真的整不出来了,想问问大家这个初始化要怎么整呀,如何给它规定一个数组长度owo
谢谢!

img

img

vector容器本身就不会限制大小的,可增可删,这比数组就宽松很多呀,定义使用就方便很多。如果你想要限定一定数量长度的,可以考虑用数组,但这样需要考虑存储的数据内容,可能构造会相对复杂。
然后从你说的问题和提供的打印代码中看,就是容器元素索引超了导致的越界报错。你使用size()获取容器长度后,for循环遍历从0开始的,注意最后能够取到的下标索引值是size-1,为此只需小于不用小于等于;这样应该是能够解决你的问题的。

对你有帮助的话希望能够采纳,谢谢!

可以看下这个

<,不是≤

for循环中的条件, i <= Size1 改成 i < Size1 ; i <= Size2 改成 i < Size2
Size1和Size2是vector中的元素个数,跟数组一样,最后一个元素是Size1-1和Size2-1,取不到Size1和Size2,你的代码会导致越界。

图上标注的两处越界了,应该是<号,不是<=号。会导致stu[i]和tea[i]越界崩溃。

img