谷歌和stackoverflow搜索无法帮助我,我别无选择,只能向你们寻求帮助.
我想使用一个向量数组 - 我知道这个数组只需要包含两个向量.从而
vector<double> testVect[1];
Run Code Online (Sandbox Code Playgroud)
现在,当我想将Element添加到我使用的数组中包含的第一个向量时
testVect[0].push_back(0);
Run Code Online (Sandbox Code Playgroud)
到目前为止一切似乎都没问题 - 不幸的是,在第一个向量中添加一个元素也会在第二个向量中添加相同的元素(在本例中为0).
有人能告诉我这种行为的原因吗?(请) - 也许是一种解决方法.目前我必须使用Visual Studio 6(雇主不会安装新的编译器 - 我已经惹恼了我的同事:D
Bas*_*tch 16
如果你想要两个向量,你应该声明:
vector<double> testVect[2];
Run Code Online (Sandbox Code Playgroud)
然后在你的代码中使用testVect[0]
和testVect[1]
.
您应该在编译器上启用所有警告.
顺便说一句,你可以安装一个最近的Linux发行版,与最近的GCC编译器(如4.7),并运行它g++ -Wall -g
肯定会提醒你,如果你静态访问的testVect
出界,像你好像有.
GNU/Linux和GCC都是免费的,所以你的经理可能会很高兴.