![]() |
| | #1 (permalink) | ||
| matrice cu STL
De ce nu merge asta? am incercat pe vreo 3 implementari de STL si face ca toti dracii, iese direct din program... [CODE] #include <vector> #include <iostream> using namespace std; class ad { private: vector<vector<int> > adj; public: ad(){adj.reserve(10); for (int i=0;i<10;i++) {adj[i].reserve(10);};}; void setadj(int x, int y) {adj[x][y]=1;}; void getadj (int x, int y) {cout<<adj[x][y];}; }; int main() { ad adi; adi.setadj(1,4); adi.getadj(1,4); }[/CODE] | |||
|
| | #2 (permalink) | ||
|
Inlocuieste reserve() cu resize() in ambele locuri unde l-ai folosit. Cu reserve() nu se apeleaza constructorii pentru vectorii din interiorul lui adj, deci for-ul ala din constructorul lui ad foloseste obiecte neinitializate.
__________________ Scarbit de fapta ta cea rea Degeaba plangi, acum, copile, Ci du-te'n casa-acum si zi-le Parintilor, isprava ta. | |||
|
![]() |
|
| Thread Tools | |
|
|