Beim Ankleben knalltes
-
Hallo,
bei der letzten Schleife des kleinen Programms, das ich bis auf die Knochen reduziert habe, knallts.
Ich will einfach einen Vektor an einen anderen ankleben.
Kann mir jemand sagen, warum es einen Absturz gibt?#include <iostream> #include <vector> using namespace std; int main() { const int z = 4, s = 7; int i, j; //Originalvektor vector<vector<int> >m_arr(z, vector<int>(s)); for (i = 0; i < z; i++) for (j = 0; j < s; j++) m_arr[i][j] = 1; //Sammelvektor vector<vector<int> >naa(z, vector<int>(s)); for (i = 0; i < z; i++) for (j = 0; j < s; j++) naa[i][j] = m_arr[i][j]; //Originalvektor mit verändertem Wert for (i = 0; i < z; i++) for (j = 0; j < s; j++) m_arr[i][j] = 2; //Originalvektor an Sammelvektor ankleben naa.resize(2*z); for (i = 0; i < 8; ++i) naa[i].resize(s); //hier knallts irgendwo for (i = z; i < 2*z; i++) for (j = 0; j < s; j++) naa[i][j] = m_arr[i][j]; return 0; }
-
m_arr ist nicht so groß, dass du da mit i indizieren darfst.