Referenz auf ein Array
-
Das erste was du bekommst sind alles Compilerfehler. Was kein Wunder ist, weil das ist ja auch falsch so. Das nichtaufgelöste externe Symbol das du bei foo(feld) bekommst ist ein Linkerfehler. Das heißt, der Code wurde richtig übersetzt, was kein Wunder ist, er ist ja auch richtig, aber es kann kein komplettes Programm erstellt werden weil du irgendwas deklariert und benutzt hast, was nirgendwo genau definiert ist.
Meine Glaskugel flüstert mir schon eine Ahnung (oder eher Befürchtung), was du falsch gemacht hast. Aber ich möchte hier mal nicht pumuckls Erziehungsbemühungen untergraben. Außerdem würde es, wenn ich Recht habe, bedeuten, dass du noch einmal die absoluten Grundlagen zur C++-Syntax wiederholen musst.
-
MatzeW schrieb:
Ich möchte in einer Funktion ein schon definiertes Array verändern. Kann ich das Array als Referenz übergeben
Kommt drauf an.
MatzeW schrieb:
oder mittels eines Zeigers?
Ja.
-
Habe die Lösung gefunden!!! SeppJ hat mir dabei sehr geholfen: ich hatte bei der Funktionsdefinition "klasseDlg::" vor dem Funktionsnamen vergessen, kam aber durch die verschiedenen Fehlermeldungen nicht drauf!
Wenn Dummheit weh täte, müsste ich den ganzen Tag schreien...
Ich danke euch allen trotzdem für eure Unterstützung!
-
übrigens ist eine Array-Übergabe als Referenz sogar umständlich, wie ich erfahren habe. So ist es viel einfacher:
Beispiel: int feld[9];
Deklaration: void funktion(typ *array, int laenge);
Aufruf: funktion(feld, 9);also ohne Angabe von [] oder *, da ein Array automatisch ein Zeiger ist!
-
MatzeW schrieb:
da ein Array automatisch ein Zeiger ist!
Falsch.
-
MatzeW schrieb:
da ein Array automatisch ein Zeiger ist!
Setzen, 6.
-
Bei Übergabe eines Arrays wird aber immer auf Feld[0] verwiesen. Ausserdem funktioniert es ja in meinem Programm optimal?!
Wiederaufstehen, 1
-
Wenn du nicht verstehst, was du das tust, dann lass es lieber. Setzen, 4-.
-
Das nennt sich call-by-reference (wenn ihr englisch könnt...hähä). Bei Übergabe eines Arrays in einer Funktion zerfällt dies automatisch in einen Zeiger, das ist nunmal so - basta. Wenn ihr das nicht glaubt, verweise ich auf Jürgen Wolf.
Aufstehen, 1+
Lehrer muss in Frührente
-
MatzeW schrieb:
Wenn ihr das nicht glaubt, verweise ich auf Jürgen Wolf.
Bitte sag, dass du einen Smiley vergessen hast und das ein Scherz ist.
-
trollododol
-
Einen Smiley habe ich nicht vergessen. Ich finde den Jürgen Wolf mit seinem Buch C++ von A...Z auch gar nicht schlecht.
Fehler sind sowieso überall enthalten.Und wenn ich euch alle Bücher und Tutorials über C++, in denen viel Müll ist, in einem Array aufzählen würde, dann hätte für euch der Begriff Stack-Overflow sicherlich eine neue Bedeutung!
Tatsache ist ausserdem, dass sein Code ja letztlich funktionierte
-
MatzeW schrieb:
Einen Smiley habe ich nicht vergessen. Ich finde den Jürgen Wolf mit seinem Buch C++ von A...Z auch gar nicht schlecht.
Fehler sind sowieso überall enthalten.Und wenn ich euch alle Bücher und Tutorials über C++, in denen viel Müll ist, in einem Array aufzählen würde, dann hätte für euch der Begriff Stack-Overflow sicherlich eine neue Bedeutung!
Tatsache ist ausserdem, dass sein Code ja letztlich funktionierte
Oh man...
-
MatzeX schrieb:
trollododol
Holleri du dödl di, diri diri dudl dö.
Und jetzt such mal hier im Forum, was so im Allgemeinen von Jürgen Wolf und seinen "Fähigkeiten" zu halten ist, dann verstehst du SeppJ's Antwort.
Oder Google nach "C++ Supermarkt Wurstbrot" - sehr beeindruckend
-
Und was haltet ihr dann bspw. von diesen Autoren:
Dirk Louis, Robert Sedgewick, Eckard Winkler, Ignaz Schels, Rolf Isernhagen, Jesse Liberty, Holger JakobsDie einen gaben teils sogar sehr gute Kritik (weswegen ich mir auch Bücher kaufte) andere (zu denen gehöre ich jetzt auch), nannten Sie Volltrottel
So ist das Leben nun einmal...
-
Typisches Anfänger-Phänomen halt. Als Anfänger weiß man nicht, was der Autor einem für nen Scheiß erzählt, das Buch ist halt nett geschrieben und das wars.
-
MatzeW schrieb:
Einen Smiley habe ich nicht vergessen. Ich finde den Jürgen Wolf mit seinem Buch C++ von A...Z auch gar nicht schlecht.
Fehler sind sowieso überall enthalten.Flüchtigkeitsfehler und Tippfehler, hin und wieder auch mal ein gehöriger Denkfehler, der dann in den Errata schnell korrigiert wird. Aber nicht einfache pure Fehler aus Unwissenheit, wie sie Herrn J.W. offenbar des Öfteren unterlaufen.
-
Und nur weil ein Code funktioniert, heisst es in C++ nicht, dass er auch korrekt ist. Undefiniertes Verhalten kann funktionieren, bleibt aber undefiniertes Verhalten und kann dir irgendwann mal gehörig um die Ohren fliegen.
Grüssli
-
MatzeW schrieb:
Ich finde den Jürgen Wolf mit seinem Buch C++ von A...Z auch gar nicht schlecht.
Ich finde Autoren schlecht die massive Fehler in ihren Büchern haben, einen sehr schlechten Programmierstil lehren und gleichzeitig nicht Kritikfähig sind.
Von den anderen von dir genannten Autoren kenne ich nur von 2 Autoren Bücher, das ist Dirk Louis (C++ from Zero to Hero - ein Buch mit Fehlern, aber eine Einstiegsmöglichkeit für die, denen Bücher wie C++ Primer noch zu schwer sind) und Jesse Liberty dessen C# Bücher mir nicht im negativen Sinne aufgefallen sind, die C++ Bücher von ihm kenne ich nicht, sie fallen aber namentlich unter den folgenden Abschnitt.
Fast ohne Ausnahme negativ aufgefallen sind mir aber alle Bücher, in denen der Titel schnelle Erfolge (in xx Stunden/Tagen/Wochen...), ein Umfassendes Wissen (von A-Z/Komplett/Umfassend...) oder einen Sprachmix (C und C++, C/C++...) enthalten. Ungeachtet von Verlag, Autor etc.
-
asc schrieb:
Fast ohne Ausnahme negativ aufgefallen sind mir aber alle Bücher, in denen der Titel schnelle Erfolge (in xx Stunden/Tagen/Wochen...), ein Umfassendes Wissen (von A-Z/Komplett/Umfassend...) oder einen Sprachmix (C und C++, C/C++...) enthalten. Ungeachtet von Verlag, Autor etc.
Gut zusammengefaßt.