Ik ben bezig met een programma in c++ (builder 5). Daarvoor moet ik de afstand tussen 2 steden opslaan. Eerst had ik een 2 dimensionaal array gebruikt, maar omdat die niet te returnen valt en niet dynamisch qua grootte is, heb ik gekozen voor:
ik heb de volgende variabele gedeclareerd:
In een bepaalde methode wil ik nu bij 2 steden de afstand invullen.
C++:
1
| typedef vector<vector<int> > afstandenMatrix; |
ik heb de volgende variabele gedeclareerd:
C++:
1
| afstandenMatrix am; |
In een bepaalde methode wil ik nu bij 2 steden de afstand invullen.
C++:
Met deze code krijg ik op regel 9 de volgende foutmelding:1
2
3
4
5
6
7
8
9
10
11
| void stedenAfstanden::updateAfstand(string vanStad, string naarStad, int afstand) { int vanStadsIndex = stadToIndex(vanStad); int naarStadsIndex = stadToIndex(naarStad); if (vanStadsIndex!=-1 && naarStadsIndex!=-1) { vector<int>* rij = &am[vanStadsIndex]; rij[naarStadsIndex] = afstand; } } |
code:
Ik denk zelf dat ik iets fout doe met het pointer gebeuren, maar ik kom er niet uit.
1
2
| Could not find a match for 'vector<int,allocator<int> >::operator =(int) |
[ Voor 11% gewijzigd door Tim Schuhmacher op 13-12-2002 14:13 ]