Witam serdecznie!
Mam taki problem. Miałem dzisiaj zajęcia na studiach z programowania i miałem napisać program który bazował na kolejce. Na samym końcu programu musiałem napisać funkcję, która wyświetlała pierwszy element z kolejki a następnie go usuwała.
Problem polegał na tym, że funkcja była wywoływana w taki sposób:
std::cout << get(*f) << "\n";
Gdzie f był wskaźnikiem stworzonym w taki sposób:
Fifo* f = NULL;
Działająca deklaracja funkcji, która udało mi się napisać wygląda następująco:
char *get(Fifo f){
//Takie tylko, aby dzialalo i program sie kompilowal ;/
return fifo.tekst2;
}
Problem mam z tym, że do funkcji jest przekazywana wartość na która pokazuje wskaźnik, czyli do funkcji dostaje kopię obiektu a nie oryginał, czyli nie mogę usunąć elementu z oryginalnej kolejki.
Jest jakiś sposób albo trick, aby w funkcji móc dostać się do oryginalnego obiektu na który wskazuje f?
Wywołania funkcji nie mogłem zmieniać.
Z góry dziękuję za każdą odpowiedź.