Übergeben von Strukturen an Funktionen



  • Hallo,

    ich habe vor wenigen Tagen angefangen mich mit Strukturen zu beschäftigen und möchte diese nun an eine Funktion übergeben. Das sollte im Grunde ähnlich funktionieren, wie bei Arrays. Bei meinen Versuchen erhalte ich jedoch stets die meldung, dass der Funktion meine Struktur nicht bekannt ist:

    #include "stdafx.h"
    
    using namespace System;
    
    struct kistendaten
    {
    	Int32 nummer;
    	Int32 laenge;
    	Int32 breite;
    	Int32 hoehe;
    };
    
    void hinzufuegen (Int32 i)
    {
    	kiste[i].nummer=i;
    	Console::WriteLine("Bitte geben Sie die Laenge der {0}. Kiste ein: ", i); 
    	kiste[i].laenge=Convert::ToInt32(Console::ReadLine());
    	Console::WriteLine("Bitte geben Sie die Breite der {0}. Kiste ein: ", i); 
    	kiste[i].breite=Convert::ToInt32(Console::ReadLine());
    	Console::WriteLine("Bitte geben Sie die Hoehe der {0}. Kiste ein: ", i); 
    	kiste[i].hoehe=Convert::ToInt32(Console::ReadLine());
    }
    
    int main(array<System::String ^> ^args)
    {
    
    kistendaten kiste[100];
    
    for (Int32 i=0; i<100; i++)
      {
    hinzufuegen(kiste[i]);
      }
    return 0;
    }
    

    nun besteht das Problem darin, dass der Compiler mir sagt, dass "kiste" in der Funktion hinzufuegen nicht bekannt ist...

    dabei übergebe ich diese doch...

    ich hoffe ihr könnt mir sagen, wo der Denkfehler liegt, denn sowohl die Suche hier im Forum, als auch die Dokumentation aht mir nicht weitergeholfen.

    Vielen Dank und mfg

    Dragon



  • Deine Funktion hinzufuegen() erwartet ein int, keine Kiste.



  • witte schrieb:

    Deine Funktion hinzufuegen() erwartet ein int, keine Kiste.

    selbst wenn ich nun die Int32 variable im Funktionskopf in kiste ändere, sagt der compiler weiterhin, dass die struktur dort unbekannt ist...

    woran liegt das?

    mfg Dragon



  • Du sollst sie ja nicht in Kiste ändern, sondern in kistendaten. Deine Struct heisst kistendaten, Dein Kistenarray heisst Kiste.



  • witte_ schrieb:

    Du sollst sie ja nicht in Kiste ändern, sondern in kistendaten. Deine Struct heisst kistendaten, Dein Kistenarray heisst Kiste.

    alles klar... ich hatte vorher vergessen den Typ der "kiste" anzugeben

    Danke für die Hilfe 🙂

    mfg Dragon



  • Kise kann er ja auch nicht erkennen du hast sie auch als Variable daklariert


Anmelden zum Antworten