Problem mit struct



  • Hi Leute

    Ich bin gerade am verzweifeln könnt ihr mir die Ursache für folgende Fehler sagen

    [C++ Fehler] Editor.cpp(178): E2108 Ungültige Verwendung von typedef 'Feld'.

    Meine struct sieht so aus:

    struct Feld{
              short CV;
              short CH;
              char Spielfeld[40][40];
              };
    

    Meine verwendung so:

    for(i=0;i<=39;i++)
        for(j=0;j<=39;j++)
          Feld.Spielfeld[i][j] = ' ';
    

    Ich probier jetzt schon seit Stunden aber ich kriegs nicht hin bitte helft mit.

    mfg Bauarbeiterjo



  • Du solltest eine Variable vom typ struct Feld deklarieren und die dann verwenden.
    Kurt



  • versuchs doch mal so

    struct
    {
       short CV;
       short CH;
       char Spielfeld[40][40];
    }Feld;
    


  • Danke jetzt gehts aber eins würd ich gern wissen wo ist der Unterschied zwischen:

    struct
    {
       short CV;
       short CH;
       char Spielfeld[40][40];
    }Feld;
    

    und

    struct Feld{
              short CV;
              short CH;
              char Spielfeld[40][40];
              };
    


  • muss ich beim Deklarieren jetzt was anders machen denn wenn ich schreibe:

    Feld Spiel;
    

    dann krieg ich eine Anweisung das ich den Strichpunkt vergessen habe wenn ich die Zeile wieder rauslösch ist der Fehler auch weg. Also muss ich da irgendwas beachten oder so 😕



  • Hallo,

    geht folgendes?

    typedef struct {
      short CV;
      short CH;
      char Spielfeld[40][40];
    } Feld;
    
    Feld f;
    f.CV = -7;
    

    MfG

    GPC



  • Es gibt einen Unterschied zwischen den beiden Bauarbeiter. Meines wissens legst du mit

    struct feld{
        .....;
    }
    

    Einen neuen Variablentyp (wie int, char etc.) an.
    Mit

    struct art{
        .....;
    }feld;
    

    Legst du ein Struct namens Feld vom Typ art an.
    Es ist das selbe wie

    struct art{
       ...;
    }
    art feld;
    


  • @craw: zumindest in C++ - in C gibt es einen Unterschied zwischen "struct art Feld;" und "art Feld;"


Log in to reply