Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Felder Aufrufe

  1. #1
    anve
    Gast

    Felder Aufrufe

    Hallo Leute!

    Ich habe folgende Frage:

    Das nachstehende funktioniert in C++ nicht.


    void printfeld1(int a[MAX1][], int len)

    Feld:

    int f1[MAX1][MAX2]={{1,1},{2,2},{3,3},{4,4},{5,5}};

    Folgendes aber schon:

    void printfeld1(int a[][MAX2], int len)

    Kann mir jemand erklären, warum das eine funktioniert und das andere nicht?

    Mfg
    anve

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Hallo Leute!

    Ich habe folgende Frage:

    Das nachstehende funktioniert in C++ nicht.
    Bitte wenn es möglich ist nicht schreiben "Es funktioniert nicht", sondern beschreibe was du getan hast, welches Resultat du erwartet hast, und was tatsächlich passiert ist.

    Was vermutlich passiert ist, ist, dass dein Compiler einen Fehler gemeldet hat und sich weigerte den Code zu übersetzen. Das ist auch in Ordnung so: Du kannst nur die erste Dimension des Arrays offen lassen. Nachzulesen in Abschnitt 8.3.4 des Standards.

    Wenn du mehrdimensionale Arrays brauch, bei dem eine andere als die erste Dimension keine konstante Größe hat, wirst du eine Klasse verwenden müssen.

  3. #3
    anve
    Gast
    Danke für deine Antwort!

    Hab das nicht reingetippt. Wenn es genau wissen willst, es ist eine theoretische Frage, welche mir jemand gestellt hat. Aber ohne es hineinzutippen, warum funktioniert das nicht? Wo finde ich 8.3.4 des Standards?

    Grüße
    anve

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Wo finde ich 8.3.4 des Standards?
    Du kannst den Standard z.B. als Buch erwerben, noch halbwegs erschwinglich.
    http://eu.wiley.com/WileyCDA/WileyTi...470846747.html
    Soweit ich weiß, gibt es auch eine PDF-Ausgabe zu kaufen, für 18 Dollar. Du musst aber nicht unbedingt Geld ausgeben, um den genannten Abschnitt zu lesen, es reicht auch aus, wenn du von der Homepage des C++-Kommitees den aktuellen Draft herunterlädst. Dort ist 8.3.4 auch drin, mit höchstens kleinen Unterschieden.
    (http://www.open-std.org, dann den Links folgen.)

  5. #5
    anve
    Gast
    irgendwie kann ich ohne passwort nicht darauf zugreifen ...

    Aber weiß jemand warum das so ist?

    Grüße
    anve

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    irgendwie kann ich ohne passwort nicht darauf zugreifen ...
    Auf den Draft, den ich erwähnte? Das ist dieses Dokument:
    http://www.open-std.org/JTC1/SC22/WG...2005/n1905.pdf
    Da wird bei mir kein Passwort verlangt.

  7. #7
    anve
    Gast
    Danke für den Link. Irgendwie war ich woanders. Werde mir das dann mal durchlesen.

    Grüße
    anve

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    void printfeld1(int a[][MAX2], int len)

    Sind MAX2 Pointer auf ein int-array, Größe sizeof(int*)*MAX2 Bytes -> kein Problem

    void printfeld1(int a[MAX1][], int len)

    Sind eine beliebige Anzahl von Pointern auf ein array mit MAX1 Einträgen -> Feldgröße nicht bekannt.

    HTH

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •