Semi Newbi::Deklarierte Variable einer Klasse in einer anderen Klasse nutzen



  • Moin Moin,

    ist sicherlich eine Kleinigkeit, aber am Compiler kommt ja bekannterweise keiner vorbei 🙂

    class MyFoo
    {
    public:
    struct MyStruct
        {
            double dZahl;
            int iZahl;
        };
    struct MyStruct *Meins;
    }
    
    class UseMyFoo
    {
    public:
    class MyFoo:struct MyStruct *Deins; // Fehlerzeile
    }
    

    wird mit in der Fehlerzeile mit einem "Parse error before Token '*'" quittiert (G++ 3.3) 😞 Was mach ich da falsch ?

    Gruß Winn



  • hm, lass mal das "class" und das "struct" weg,
    in etwa so:

    MyFoo::MyStruct *Deins;
    

    für den Erfolg kann ich nich garantieren, aber das warn auf jedenfall schonmal 2 Fehler...



  • 1. Am Ende von Klassendefinitionen kommt ein ;
    2. Der Scope Operator besteht aus ::
    3. In der Fehlerzeile handelt es sich um ein struct, da muss kein class davor.

    class MyFoo
    {
       public:
          struct MyStruct
          {
             double dZahl;
             int iZahl;
          };
          struct MyStruct *Meins;
    };
    
     class UseMyFoo
    {
       public:
          struct MyFoo::MyStruct *Deins; // Fehlerzeile
    };
    

    Es ist nicht mal notwendig das struct vor die Variablendefinition zu schreiben:

    MyFoo::MyStruct * Deins;

    genuegt.



  • Dankö !! Funzt 🙂


Anmelden zum Antworten