Segmentation fault, gdy funkcja zwraca vector
Ostatnio zmodyfikowano 2014-01-23 19:57
Chlorek Temat założony przez niniejszego użytkownika |
» 2014-01-23 19:45:11 Jak napisałem, problem się rozwiązał gdyż usunąłem wskaźnik z xmldoc'a i zastosował się domyślny konstruktor. Tylko czemu wcześniej nie było błędu tam a był on w getString() ? |
|
pekfos |
» 2014-01-23 19:48:13 Używałeś niezainicjalizowanego wskaźnika? W tej sytuacji nie wiadomo co się może wydarzyć. |
|
Chlorek Temat założony przez niniejszego użytkownika |
» 2014-01-23 19:51:34 Początkowo nie był to wskaźnik, potem dopisałem funkcję getXMLDocument() (jeszcze przed pierwszym testem czy w ogóle moja klasa działa), ale okazało się, że tego obiektu nie można zwrócić (skopiować) więc zmieniłem na wskaźnik bez pomyślenia o konsekwencjach. Mimo to open() działało i to mnie zaskakuje...
#Edit W każdym razie, najważniejsze że w końcu znalazł się sprawca problemu. Dzięki za pomoc, zanim bym na to zwrócił uwagę minęłoby wiele czasu pewnie. |
|
pekfos |
» 2014-01-23 19:57:46 To UB, więc wszystko się mogło zdarzyć. Włączając w to 'prawidłowe' działanie. Utworzyłeś obiekt Config na stosie, więc było dość prawdopodobne, że do xmldoc trafi wartość, której dereferencja nie wykrzaczy programu. Wywołałeś metodę, która zmodyfikowała jakieś dane, lub nawet kod. Dalej już nie ma co gdybać.. |
|
1 2 « 3 » |