07. april 2003 - 12:17Der er
7 kommentarer og 1 løsning
vector i vector i vector
jeg har brug for at gemme sammenhørende strings det gør jeg i vector a. jeg har brug for at gemme sammenhørende a typer, det gør jeg i vector b. jeg har brug for at gemme sammenhørende b typer, det gør jeg i vector c.
I punkt (c) opretter du en pointer alleSprog til noget hukommelse, og sætter den til at pege et eller andet tilfældigt sted hen (idet du ikke eksplicit sætter den til at pege på en specifik adresse).
I sidste linie i .cpp filen laver du så alleSprog->push_back(*etSprogTemp), og så prøver koden at dereferere alleSprog til den tilfældige adresse den peger på. Og det er så noget hukommelse du ikke har adgang til (derfor AccessViolation).
Hvad er forskellen på den første linie fra hendes .cpp fil og din linie: alleSprog = new std::vector <EtSprog>; alleSprog = new std::vector<EtSprog>; ?
Hvorfor definerer du egentlig ikke (c) på samme måde som a og b... typedef std::vector <EtSprog> AlleSprog; Så du kan "nøjes med": AlleSprog* alleSprog; og i din .cpp-fil alleSprog = new AlleSprog; Ikke at det er en løsning på dit problem, men du kan vel ligeså godt holde samme standard...
Ekstra pinligt for mig, når nu Arne udsatte mig for noget tilsvarende i sidste uge. Jeg *må* se at lære at læse spørgsmålet mere grundigt før jeg svarer. Undskyld.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.