Przekazanie otwartego ifstream jako parametr funkcji

0

Witam,
po raz pierwszy robię I/O na plikach stosując manierę obiektową i średnio idzie mi operowanie na strumieniach. Skrótowo wygląda to tak:

ifstream plik(argv[1]);
//costam costam
Struktura struktura = parser.parsuj(plik); 
 Struktura Parser::parsuj(ifstream& plik)
{
        string str;
    getline(plik, str);
    //costam costam
    return struktura;
}

Próba wykonania powyższego manewru kończy się naruszeniem ochrony pamięci. Dla wygody czytających wrzuciłem tylko fragment kodu (sądzę, że wystarczy do jasnego postawienia problemu) , jeśli będzie trzeba to wrzucę całość.

Każda pomoc mile widziana.

0

A mógłbyś napisać w której dokładnie linijce się wywala?

0

Postawione przez Tomka pytanie skłoniło mnie do zbadania części kodu co do której w najśmielsznych snach nie podejrzewałbym, że jest błędna ;) . W każdym razie błąd tkwił w zewnętrznej funkcji. Dzięki za intelektualną stymulację :D

0
string str;
getline(plik, str);
//costam costam
return struktura;

dobre sobie. wyciąłeś kluczowy fragment kodu, zwracasz zupełnie niewiadomoco - nikt nie byłby ci w stanie pomóc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0