Przekazywanie wewnętrznego wskaźnika w strukturze

0

Mam coś w rodzaju kontenera:

struct Sprobe //glowny kontener
{
    Smeasure *head;//glowa listy elementow Smeasure
    int s_time;
}; 

I mam też strukturę listy elementów, które się w niej znajdują:

struct Smeasure
{
    Smeasure *wsk;
    int value;
};

I chce przekazać funkcją wskaźnik na element głównego kontenera do funkcji, która wyświetla zarówno dane podstawowe w głównym kontenerze (na razie tylko s_time) i pokazuję też całą listę, która zaczyna się w head.

Gdy próbuję przekazać sam wskaźnik do kontenera i pokazać numer wskaźnika na head, to wyświetla mi 0, a próba wyłuskania kończy się błędem. Jak więc wyświetlić taką listę? Zaznaczam że wszystkie dane są mi potrzebne i wolałbym to zrobić w jednej funkcji.

0

Bez kodu to można tylko zgadywać - skoro pokazuje zero, to może rzeczywiście jeszcze nie ma tam żadnych danych i wskaźnik jest wyzerowany?

0

Tak więc: funkcja, która tworzy listę:

void create_list()
{
    Sprobe *probe=new Sprobe;
    int i=0;
    Smeasure *head=probe->head=NULL;
    Smeasure *tail;
    Smeasure *pom;
    probe->s_time=10;
    while(i<10)
    {
        pom=tail;
        tail=new Smeasure;
        if(head==NULL)
        {
            head=new Smeasure;
            head=tail;
        }
        else
        pom->wsk=tail;
        tail->value=i;
        tail->wsk=NULL;
        i++;
    }
    view_list(probe);
    delete probe;
}

Do niej nie ma zastrzeżeń, jak się wykona po niej zwykłe pokazywanie listy po head to działa dobrze;

Tylko jak w innym module wyświetlić jednocześnie wszystko?

funkcja view_list ma jako argument SProbe i próbowałem cout<<(wsk->head->value); i cout<<((wsk->head)->value)); i kilka innych wariacji.
view_list jest w oddzielnych plikach view.h i view.cpp

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