Mehrdimensionales Array übergeben



  • Hallo!

    ich schreibe an einem "von-Neumann-Rechner" Simulationsprogramm und komme an einer entscheidenen Stelle nicht weiter. Ich erstelle ein zweidimensionales Array in dem ich die Befehle und Speicheradressen getrennt speichern und anschließend an eine weitere Funktion übergeben möchte. Nur haut dieses Übergeben nicht hin. Sehr vereinfacht habe ich mein Problem mal dargestellt:

    void auslesen(cli::array<String^, 2>^ ????)
    {
    //Wie erfolgt dann der Zugriff auf das Array hier in der Funktion?
    }

    void main()
    {

    cli::array<String^, 2>^ speicher;

    //Die Befüllung des Speichers soll hier egal sein

    auslesen(speicher);

    return;

    }

    In der Online Hilfe MSDN komme ich auch nicht wirklich weiter. Vielleicht hat ja jemand ne Lösung. Danke schonmal.

    Gruß



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Wäre nicht schlecht, wenn Du eine genaue Fehlerbeschreibung posten würdest. Bei

    Haut nicht hin

    braucht man die Qualitäten eines Wahrsagers, um dir helfen zu können.

    void auslesen(cli::array<String^, 2>^ ????)
    {
    //Wie erfolgt dann der Zugriff auf das Array hier in der Funktion?
    }

    void auslesen(cli::array<String^, 2>^ stringArray)
    {
    //so
    int x=0, y=2;
    String ^sString = stringArray[x, y];
    }
    

    Ich zweifle aber, dass ein zweidimensianales Array das richtige Datenkonstrukt in deinem Fall ist.
    Ein eindimesionales Array entspricht einem Vektor, ein zweidimensionales Array einer Matrix. Bei deiner Beschreibung denke ich eher, dass Du zwei eindimensionale Vektorn brauchst, einen für die Befehle und einen für die Adressen. Du sparst dir dann die Reservierung von Speicher, der gar nicht benötigt wird. Diese beiden Vektoren kannst Du auch in einer Klasse kapseln, somit brauchst du nur ein Handle für die Übergabe.


Anmelden zum Antworten