Dzień dobry ;)
Podczas uruchomienia programu który robię wyskakuje błąd --> vector subscript out of range.
Debuger wskazał gdzie błąd ale nie takiego tam nie widzę. Możliwe że wynika to z mojej średniej znajomości vectorów wielowymiarowych
Więc po pierwsze problematyczny fragment. Dla jasności zmieniłem część zmiennych na stałe ( program nadal się wysypuje!!).
out3.piksel.resize(3);
//przepisanie
out3.all_piksel.resize(256000);
//zainicjalizwoa to konstruktorem!!
for (int i = 0; i < 256000; i++) {
for (int j = 0; j < 3; j++) {
cout << "i= " << i << " a j=" << j << endl;
out3.all_piksel[i][j]=500 ;
}
}
all_piksel to pole zadeklarowane jako:
class obraz{
public:
vector<int> piksel;
vector<vector<int> > all_piksel;
}
cout wskazuje że została wykonana tylko pierwsza pętla po której występuje błąd.
i = [0;255999] wskazuje na vector będący pikselem
j = [0;2] wskazuje na int będący składową
dokładnie tak jak zadeklarowałem wielkość.
Zatem w czym tkwi błąd?
W załączniku cały program