Probleme mit einem managed Array in einer Strucktur



  • Halloechen!!
    Ich brauche eure Hilfe.. denn es geht in meinem Programm nicht weiter 😉 :

    value struct HAUPT 
    { 
            array <VERWALTUNG> ^ main; 
    };
    

    Diese Strucktur sieht vielleicht ein wenig sinnlos aus- soll aber das Programmieren von Funktionnen in meinem Programm einfacher machen, wenn die auf die Daten von diesem main Array zugreifen wollen(ich habe naemlich noch nicht herausgefunden wie man Arrays in einer Funktion zurueckgeben kann- geht das ueberhaupt??).

    Auf jeden Fall wird diese Strucktur auch schoen eingesetzt- hier ist der Codeausschnitt:

    HAUPT db; 
    db.main = gcnew array<VERWALTUNG>(include->Count);
    

    Ich habe dann in meinem Programm auch eine Funktion, die an diesem Main Objekt ein wenig rumschraubt um da was zu veraendern.. und um das moeglichst einfach zu haben wird einfach diesem "db" der returnwert dieser Funktion zugewiesen- der Rueckgabewert ist vom Typ HAUPT.

    db = analyse(codebox->Items[i]->ToString(), db); 
    
    HAUPT analyse(String^ line, HAUPT root) 
    { 
    ....... 
    };
    

    Das Problem, das ich jetzt aber habe ist, dass der db.main Array mehrere Objekte enthaelt- wenn ich die Funktion analyse aufrufe und mir das mit Step-by-Step anschaue dann hat der root.main Array nur das erste Objekt von db.main- woran liegt das???
    Ich hoffe mein Text war verstaendlich und nicht zu lang (ich hasse es selbst immer so lange Texte zu lesen- desshalb sorry!)- wenn ihr mehr Code braucht um das Problem zu loesen dann sagt bitte Bescheid!!

    So und jetzt habe ich das Problem, dass mich eventuell einige Leutchen aus dem Spieleprogrammierer.de-Forum wiedererkennen 😉 (ich habe dieses Problem dort schonmal gepostet)

    MfG Braunwscheiger



  • Kann dir zwar grad auch ned sagen, wieso da nur eins drinnen ist,
    arrays hab ich bisher aber immer so zurückgegeben:

    public ref class foo
    {
    public:
    ...
    
    	cli::array<int> ^ bar(...)
    	{
    		cli::array<int> ^ niceArray = gcnew cli::array<int>(25);
    
    		return niceArray;
    	}
    
    };
    


  • das ist doch schonmal eine Loesung!! Zwar nicht so auf dem Wege, wie ich mir das gedacht haette aber alles was ich brauche!! Vielen Dank!!
    MfG 👍


Log in to reply