problem z listą C++

monia888
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 23 maja 2010, o 11:36
Płeć: Kobieta
Lokalizacja: nibylandia

problem z listą C++

Post autor: monia888 »

Mam taki problem. Staram się zrobić listę jednokierunkową w C++. No i w strukturze lista mam funkcję dodaj, która dodaje element do listy o zadanych wartościach. No i niby się wszystko kompiluje, ale jak chcę użyć funkcji dodaj w programie, to wyskakuje "expected primary expression before '.' token" mógłby mi ktoś tak łopatologicznie wytłumaczyć jak to poprawić? Z góry dziękuję za pomoc

w tym miejscu jest błąd

Kod: Zaznacz cały

int main(){
    lista.dodaj(3,3);
    }
i gwoli ścisłości cały kod

Kod: Zaznacz cały

#include <iostream>
using namespace std;

struct ddd{int pozycja; int predkosc;};

struct element{ddd d; element* nast;};

struct lista{
       element* poczatek;
       element* koniec;
       lista(){poczatek=NULL;koniec=NULL;}
       void dodaj1(element* &list,int poz, int pred){
            element* q;
			q=new element;
			q->nast=list;
			q->d.pozycja=poz;
			q->d.predkosc=pred;
			list=q;
            }/////////////
       void dodaj(int pozz, int predd){
            dodaj1(poczatek,pozz,predd);
            }//////////////
            
       
       void usun(element *l){
            element* dousu; element* poprz;
            dousu=poczatek; poprz=poczatek;
           while(dousu!=l){
            dousu=dousu->nast;
                            }
            while((poprz->nast)!=l){
            poprz=poprz->nast;
                                    }/
            poprz->nast=l->nast;
            delete l;
                                    
            }
       
       };


int main(){
    lista.dodaj(3,3);
    }
Awatar użytkownika
argv
Użytkownik
Użytkownik
Posty: 569
Rejestracja: 27 maja 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 51 razy
Pomógł: 66 razy

problem z listą C++

Post autor: argv »

Ten program się nie kompiluje. Linia 33 : }/ błąd składniowy
Ponadto żeby wywołać metodę obiektu jak sama nazwa wskazuje, trzeba wywołac metode obiektu a nie klasy czyli:

Kod: Zaznacz cały

int main(){
    lista l;
    l.dodaj(3,3);
    }
ODPOWIEDZ