typedef und namespaces



  • Hallo,

    Folgendes Beispiel:

    // x.h
    namespace T
    {
      typedef struct fubar
      {
        int blah;
      };
    }
    

    Warum meckert hier der Compiler, dass keine Variable deklariert wurde?
    Ich will doch lediglich einen eigenen Datentyp im Namensraum bekannt machen.

    Vielen Dank für Eure Ratschläge!



  • Du musst bei typedef schon angeben, wie der Type heißen soll. Das fehlt bei dir.

    Lass das typedef einfach weg, das brauchst du hier nicht.



  • Stimmt, ich kann das 'typedef' einfach weglassen.

    Habe eben im Standard gefunden, dass folgendes korrekt währe:

    // x.h
    namespace T
    {
      typedef struct fubar
      {
        int blah;
      }fubar;
    }
    


  • Ja, das gehört zu den Relikten aus C - im Gegensatz zu C++ gibt es dort nämlich einen Unterschied zwischen "struct fobar" und "fobar".


Log in to reply