Listen in C++

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Hi
    Ich kapiere nicht wieso ich fehler bekomme wenn ich eine liste variable setze?
    Ich mache
    #include <list>
    ...
    list<int> l;

    Gibt es hauptsaechlich ein problem mit listen und c++. ich suche irgendwas im netz ueber listen und finde nicht wie das gehen soll.

    Ah ja. Das fehler ist uebrigens:
    error C2143: syntax error : missing ';' before '<'
    und
    error C2501: 'list' : missing storage-class or type specifiers

    :confused:

    "Socialism is Bolshevism with a shave." 
    -'Detroit Journal'

  • machst du davor ein "using std::list;"? die ganzen stl-klassen sind im namespace std

    die fehlermeldung kommt mir aber komisch vor, kannst du etwas mehr code reinpasten, bzw welchen compiler verwendest du?

  • Ich mache diesen "using std::list;" nicht. Wo genau muss ich das machen? Was sind diese stl klassen?

    Ok hier mein ganze header datei.

    #pragma once
    #include <List.h>


    class SLine
    {
    public:
    SLine(void);
    ~SLine(void);

    List<int> l;

    int length;
    int samplePointsNo;

    void addPair(float x, float y);
    void setLength(int length);

    };

    P.S. Ich verwende den standard VS.NET 2003 compiler

    "Socialism is Bolshevism with a shave." 
    -'Detroit Journal'

  • ähm, welche listen verwendest du da? die aus der standard template library (STL) aus dem c++ standard? oder irgendwas microsoft-spezifisches? (wovon ich keine ahnung habe :) ). folgendes sollte kompilieren:

  • man muss nicht den ganzen namespace importieren wenn man nur eine liste braucht, mit "using namespace std;" kannst du aber alles aus dem c++ std namespace direkt verwenden, gibt da noch einige wichtige dinge, zb std::string

    und ja, du kannst ein typedef verwenden um der liste einen eigenen namen zu geben (l1 und l2 haben im beispiel den selben typ), in deinem fall würd ich das aber nicht tun, ist eher verwirrend als hilfreich

  • Noch etwas. Ich wolte jetzt eine liste von float[2][2] arrays machen, also:
    list<float[2][2]> l;
    Aber wenn ich sie benutzen will bekomme ich ein error C2536 error. Etwas ueber allocation von speicher glaube ich. Heist das dass man listen von arrays nicht machen darf?

    "Socialism is Bolshevism with a shave." 
    -'Detroit Journal'

  • da musst du glaub ich dann float* oder float** verwenden.

    Ich pers. verwende immer std::list als kompletten Typ. using produziert nur namespace pollution.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!