structure übergeben



  • hallo.
    ich habe mir eine kleine klasse geschrieben:

    class zahlen
    {
    private:
    struct zahlen
    {
    int x,f,g;
    };
    public:
    initzahlen(void);
    benutze_zahlen(void);
    };
    
    zahlen::initzahlen(void)
    {
    zahlen zahl[2] =
    {{ 10, 5, 6},
    {2, 5, 0}}
    }
    //
    zahlen::benutze_zahlen(void)
    {
    //Hier ist das problem
    //ich muss nun an einer funktion die structure übergeben
    //also:
    //funktion(..., zahl, ...);
    //wie kann ich das machen???
    }
    

    vielen dank
    MFG



  • Zunächst musst du der struct nen anderen namen geben als der klasse, da ne struct eigentlich auch nur ne public- klasse ist. Kannst nicht zwei klassen den selben namen geben.

    auf die struct kannst du dann über bereichsauflösung zugreifen. Dafür musst du die struct allerdings public deklarieren

    class Czahlen 
    { 
    
    	public:
    
    	struct zahlen 
    	{ 
    	int x,f,g; 
    	};
    
    	initzahlen(void); 
    	benutze_zahlen(void); 
    }; 
    
    Czahlen::initzahlen(void) 
    { 
    	zahlen zahl[2] = {{ 10, 5, 6}, {2, 5, 0}}; 
    }
    
    Czahlen::benutze_zahlen(void) 
    { 
    
    }
    
    void f(Czahlen::zahlen struktur)
    {
    
    }
    

    P.S. Ändere mal deinen Namen, das interessiert hier keinen, ob du deine deutsch- lehrerin magst, oder nicht.



  • Das Array zahl[2] ist übrigens sinnlos, da es nach Beendigung der Funktion sofort wieder zerstört wird
    (und selbst wenn es 'static' wäre, könntest du nicht von außen darauf zugreifen).


Anmelden zum Antworten