list-Deklaration innerhalb Klasse?



  • Sieht aus, als ob du noch sehr wenig Erfahrung mit Klassen hättest. Hol dir ein gutes Buch, den entsprechenden Thread gibt's in der C++-FAQ.
    Ich fürchte übrigens, dass du using namespace std; in einem deiner Header stehen hast - wieder ein Grund, deine Nase in ein Buch zu stecken.
    Und natürlich auch, weil du denkst, Zeiger seien was tolles (oder so ähnlich).

    @Keller...: Ja, non-static data member initializers dürften das erlauben, solange es da keine Fehler gibt wie hier (das ist aber IMO ein Compiler-Bug, da es korrekt aussieht).



  • Sone_logoff schrieb:

    @Keller...: Ja, non-static data member initializers dürften das erlauben, solange es da keine Fehler gibt wie hier (das ist aber IMO ein Compiler-Bug, da es korrekt aussieht).

    Oh, korrigiere: Nein, ist kein Bug, ist tatsächlich ill-formed.



  • hm, schon klar, wer in nem Forum Hilfe sucht, wird angewiesen nochmal ein Buch zulesen...
    In meinem Buch stand leider nichts darüber.
    Könntest/et Ihr mir nicht erklären, wieso das nicht geht, oder zumindest ein Stichwort geben, damit ich jedenfalls weiß, was ich mir ansehen muss??



  • Kellerautomat schrieb:

    Initializiserungsliste deines Ctors.

    Reicht das nicht als Stichwort? Hast du danach mittlerweile schonmal gegoogelt?



  • 96TB schrieb:

    Könntest/et Ihr mir nicht erklären, wieso das nicht geht, oder zumindest ein Stichwort geben, damit ich jedenfalls weiß, was ich mir ansehen muss??

    //Fahrstraße.h
    #include <iostream>
    #include <list>
    #include "Feldelemente.h"
    #include "Gleisplan.h"
    
    class Fahrstraße
    {
    public:
       Fahrstraße() : Weichenliste(list<Weiche*>(5)){}
        //Eigenschaften
    private:
    
        //Liste der Weichen, die in der Fahrstraße eingebunden sind
        list<Weiche*> Weichenliste; //error C2059: Syntaxfehler: 'Konstante'
    }
    


  • achso ja, hatte mich etwas an der konstruktorliste (initialisierung und zuweisung) gestoßen. Ich hatte jetzt eigentlich auch nur nach der Syntax gefragt, da ich mir nicht vorstellen konnte, wie das in der KListe aussieht. 😃

    EDIT:

    schon gelöst

    trotzdem danke 🙂



  • Wohl eher:

    : Weichenliste(5)
    

    Ich bin mir trotzdem sicher, dass du weder list, noch Zeiger willst.



  • Kellerautomat schrieb:

    Wohl eher:

    : Weichenliste(5)
    

    Ach Du Schande ... so unromantisch einfach geht das ... hab ich gar nicht erst ausprobiert, weil ich dachte ... ach, weiß ich auch nicht mehr ...



  • ähm, ok?

    wenn du (Kellerautomat) mir das mal näher erklären möchtest, auch für Leute verständlich, die nur ein kleineres Buch gelesen haben?? jetzt hast du mein Interresse geweckt 😃

    mein Gedanke war:

    alle Objekte im Gleisplan sind auf dem Heap angelegt und in einer
    map<int, Feldelement*> gespeichert. ich dachte mir, es ist am einfachsten auf die zuzugreifen, wenn ich einfach einen container nehme, der in der Stellreihenfolge die benutzen Weichen speichert? wenn nicht als Zeiger oder im container (list), wie denn dann?



  • Welchen Sinn hat es, eine 5-Elementige Liste mit Nullpointern im Konstruktor anzulegen?


Anmelden zum Antworten