C++ 使用数组中包含多个向量的值

C++ 使用数组中包含多个向量的值,c++,arrays,vector,cout,C++,Arrays,Vector,Cout,基本上我已经创建了一个包含两个向量的数组,我希望能够更改/输出值。我已经读到以下语法应该可以工作,但是当我运行程序时,它只是不断地填充内存而不打印任何内容 #include <iostream> #include <array> #include <vector> int main() { std::array<std::vector<float>, 2> endPieceV; for (int i = 0; i &

基本上我已经创建了一个包含两个向量的数组,我希望能够更改/输出值。我已经读到以下语法应该可以工作,但是当我运行程序时,它只是不断地填充内存而不打印任何内容

#include <iostream>
#include <array>
#include <vector>

int main() {
    std::array<std::vector<float>, 2> endPieceV;

    for (int i = 0; i < 20; i+2) {
        endPieceV[0].push_back(i);
        endPieceV[1].push_back(i*i+2);
    }

    std::cout << "Vector 1:" << std::endl;
    for (int i = 0; i < endPieceV[0].size(); i++) {
        std::cout << endPieceV[0][i] << " ";
    }

    std::cout << std::endl;
    std::cout << std::endl;

    std::cout << "Vector 2:" << std::endl;
    for (int i = 0; i < endPieceV[0].size(); i++) {
        std::cout << endPieceV[1][i] << " ";
    }
system("pause");
return 0;
}
#包括
#包括
#包括
int main(){
std::数组endPieceV;
对于(int i=0;i<20;i+2){
endPieceV[0]。推回(i);
endPieceV[1]。向后推_(i*i+2);
}

std::cout此循环计数器不正确:

 for (int i = 0; i < 20; i+2)

尽管您提到向量大小相同,但这并不是编写这样的循环的方法。

此循环计数器不正确:

 for (int i = 0; i < 20; i+2)

尽管您提到向量大小相同,但这并不是编写这样的循环的方法。

您并不是在第一个循环中增加i

for (int i = 0; i < 20; i+2) {
        endPieceV[0].push_back(i);
        endPieceV[1].push_back(i*i+2);
    }
for(int i=0;i<20;i+2){
endPieceV[0]。推回(i);
endPieceV[1]。向后推_(i*i+2);
}

注意
i+2
应该是
i+=2

在第一个循环中,您并没有增加i

for (int i = 0; i < 20; i+2) {
        endPieceV[0].push_back(i);
        endPieceV[1].push_back(i*i+2);
    }
for(int i=0;i<20;i+2){
endPieceV[0]。推回(i);
endPieceV[1]。向后推_(i*i+2);
}

注意
i+2
应该是
i+=2

向量大小相同-这不是一个错误。@bgaard这些向量中的每一个都可以调整大小,并且彼此独立。是的,您编写了一个玩具程序,但这样编写代码是错误的。如果您想确保向量大小相同,您不需要假定它们是相同的——write请修改代码以确保它。谢谢,下次使用命令时我会记住这一点。向量大小相同-这不是错误。@bGard这些向量中的每一个都可以调整大小并且相互独立。是的,您编写了一个玩具程序,但这样编写代码是错误的。如果您想确保向量大小相同,你不必假设——编写代码来确保它。谢谢,我下次使用命令时会记住这一点。你刚刚救了我一天。我一天中的大部分时间都在搜索解决方案。如果它对你有帮助,请标记为答案。我必须等待7分钟,但我会;)你刚刚救了我一天。我一天中的大部分时间都在搜索解决方案。标记为answer如果对你有帮助的话。我必须等7分钟,但我会的;)