Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » init-declarator ??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.10.2005, 22:30 Uhr
Karras



Hallo,
ich habe vor gut einem Jahr ein C++-Programm geschrieben, was sich fehlerlos mit meinem damaligen gnu-Compiler komplilieren ließ. Jetzt habe ich das Programm wieder herausgekramt und bekomme mit der aktuellen Version des gnu-Compilers immer wieder folgendene Fehlermeldung:

"error: expected init-declarator before "ListClass""

in dieser Zeile:


C++:
template<class A> inline ListClass<A>::Iterator ListClass<A>::insert_after(Iterator where, Iterator link){



Kann mir da jemand weiterhelfen?

Danke im Vorraus!

Gruß Max
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.10.2005, 23:43 Uhr
Karras



hi,
ich habe herausgefunden, dass dieser Fehler immer nur dann auftaucht, wenn der Rückgabewert mit "ListClass<A>::" eingeleitet wird. Weiß jemand, wie ich den Rückgabewert angeben muss, damit diese Fehlermeldung nicht mehr erscheint?

Ich habe (vielleicht zur Hilfe) noch die Klassendeklaration hinzugefügt:


C++:
template<class A> class ListClass{

  private:
    struct ListElem{
      ListElem* next;
      ListElem* previous;
      A item;
    };
  
  public:
    ListClass();
    ListClass(string s);
    ~ListClass();

    class Iterator{
      private:
        ListElem* p;
      public:
        Iterator();
        bool operator==(Iterator i);
        bool operator!=(Iterator i);
        bool operator!();
        Iterator operator++(); //prefix
        Iterator operator++(int); // postfix
        Iterator operator--(); //prefix
        Iterator operator--(int); // postfix
        A* operator->() const;
        A& operator*() const;
        Iterator& operator=(const Iterator&);
        Iterator& operator=(const int&);
        Iterator& operator=(ListElem*);
        ListElem* getPointer();
      friend class ListClass<A>;
    };

    int getNumberOfElements();
    Iterator operator+=(A element); // insert_before!!
    void operator+=(ListClass<A>& list); // insert_before!!

    ListElem* remove_nn(Iterator where);
    ListElem* remove_np(Iterator where);

    Iterator node;

  private:
  
    int NumOfElements;

    Iterator insert_after(Iterator where, Iterator link);
    Iterator insert_before(Iterator where, Iterator link);
};



Danke!

Gruß Max
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.10.2005, 12:19 Uhr
(un)wissender
Niveauwart



C++:
template<class c>  
typename ListClass<c>::Iterator ListClass<c>::insert_after(Iterator where, Iterator link)
{
    return Iterator();  
}



Iterator ist typabhängig, von ListClass<c>. Wird erst ab was weiß ich(g++ 3.3?) vom g++ erzwungen.
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 05.10.2005 um 12:21 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.10.2005, 15:50 Uhr
Karras



hey - danke Dir - es funktioniert!!
juhuu!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.10.2005, 20:46 Uhr
(un)wissender
Niveauwart


Klar funzt das.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: