C++ 向量数组C++;-添加元素时的奇怪行为

C++ 向量数组C++;-添加元素时的奇怪行为,c++,arrays,vector,C++,Arrays,Vector,因为谷歌和stackoverflow搜索帮不了我,我别无选择,只能向你们寻求帮助 我想使用一个向量数组——我知道这个数组只需要包含两个向量。因此 vector<double> testVect[1]; 到目前为止,一切似乎都正常-不幸的是,在第一个向量中添加一个元素也会在第二个向量中添加相同的元素(在本例中为0) 有人能告诉我这种行为的原因吗?(请)-也许是一个解决办法。 目前我必须使用Visual Studio 6(雇主不会安装新的编译器-我已经在对我的同事进行调试:D如果您需要

因为谷歌和stackoverflow搜索帮不了我,我别无选择,只能向你们寻求帮助

我想使用一个向量数组——我知道这个数组只需要包含两个向量。因此

vector<double> testVect[1];
到目前为止,一切似乎都正常-不幸的是,在第一个向量中添加一个元素也会在第二个向量中添加相同的元素(在本例中为0)

有人能告诉我这种行为的原因吗?(请)-也许是一个解决办法。
目前我必须使用Visual Studio 6(雇主不会安装新的编译器-我已经在对我的同事进行调试:D

如果您需要两个向量,您应该声明:

 vector<double> testVect[2];
向量testVect[2]; 然后在代码中使用
testVect[0]
testVect[1]

您应该在编译器上启用所有警告

顺便说一句,您可以安装一个最新的Linux发行版,使用一个最新的GCC编译器(例如4.7),并以
g++-Wall-g
的形式运行它,如果您静态访问
testVect
越界,它肯定会警告您,就像您所做的那样


GNU/Linux和GCC都是免费的,所以您的经理可能会很高兴是一个向量的数组,它的最大索引是<代码> 0代码>代码>是什么使你认为有第二个元素,或者它会被推回影响?我混淆了一个向量的初始化,并访问它的元素。在C++中,用0个元素来计算向量元素。因此,如果一个向量包含2个元素,则您可以通过向量[0]访问第一个向量。这就是为什么我认为编写testVect[1]会导致一个包含两个向量的数组。谢谢:)再次被否决-这次没有明显的原因。。。有时人们会对grr感到困惑。我猜原因是他们认为这个问题“没有得到很好的研究”。我不确定我是否同意。我确实先研究了我的问题!!不幸的是,我甚至没有想到我只是在使用一个1 elemt数组,因为似乎警告被禁用了。在我的部门,我是唯一一个编码C++的人,这是我的第一个项目。我经常阅读stackoverflow的“文章”,你们已经被动地帮了我很多。嗯,我没有开放式客户端,如果不先请求IT部门允许,我无法安装任何软件:(仍然感谢你们的建议:)
 vector<double> testVect[2];