Hallo,
Zelf was ik begonnen aan een bibliotheek voor matrix-vermenigvuldiging, en die heeft op het moment een groot geheugenprobleem. Zelf heb ik er een paar dagen mee geworsteld maar ik kom er niet uit en ik hoop dat jullie me kunnen helpen
Een matrix-object bestaat uit vier variabelen: int _rows, int _columns, int _size en Type * _values. In de constructor wordt bepaald hoeveel geheugen _values moet reserveren. In mijn oorspronkelijk idee bleef het daarbij maar dat is dus een enorm geheugenlek als het object weer verwijdert wordt. Zelf dacht ik het op te lossen door in de destructor dat geheugen weer vrij te geven. Alleen dat geeft een segfault. Zie de code:
De header:
De implementaties van enkele methodes:
Het vervelende is dus dat er een segmentatiefout in de destructor optreed met deze code, maar ik dacht dat met deze code _values altijd moest wijzen naar een geldig geheugenadres
Heeft iemand hier een idee over? Alvast heel erg bedankt!
Zelf was ik begonnen aan een bibliotheek voor matrix-vermenigvuldiging, en die heeft op het moment een groot geheugenprobleem. Zelf heb ik er een paar dagen mee geworsteld maar ik kom er niet uit en ik hoop dat jullie me kunnen helpen
Een matrix-object bestaat uit vier variabelen: int _rows, int _columns, int _size en Type * _values. In de constructor wordt bepaald hoeveel geheugen _values moet reserveren. In mijn oorspronkelijk idee bleef het daarbij maar dat is dus een enorm geheugenlek als het object weer verwijdert wordt. Zelf dacht ik het op te lossen door in de destructor dat geheugen weer vrij te geven. Alleen dat geeft een segfault. Zie de code:
De header:
C++:
1
| *snip* |
De implementaties van enkele methodes:
C++:
1
| *snip* |
Het vervelende is dus dat er een segmentatiefout in de destructor optreed met deze code, maar ik dacht dat met deze code _values altijd moest wijzen naar een geldig geheugenadres
Heeft iemand hier een idee over? Alvast heel erg bedankt!
[ Voor 82% gewijzigd door RobIII op 04-12-2011 13:04 ]