Zweidimensionales Array per typedef von einer Funktion zurückgeben lassen.
-
Der Titel sagts eigentlich schon, ich weiß nicht wie das geht, ich bekomme es nichtmal hin einem zweidimensionalen Array per typedef eine neue Bezeichnung zu geben.
Wer hilft mir eben über die Straße und zeigt mir wie ich Array[20][20] per typedef eine neue Bezeichnung gebe, und dieses dann von einer Funktion zurückgeben lassen kann.
-
typedef int Array[20][20];
Das kannst du dann zwar immer noch nicht aus einer Funktion zurückgeben, weil sowas mit Arrays eben nicht geht, aber vielleicht hilft es trotzdem
-
Mit eindimensionalen geht es aber :p
Also muss ich das Ding wohl in eine Struktur packen. Na ja
-
Die Waldfee schrieb:
Mit eindimensionalen geht es aber :p
Nö.
-
typen kann man nicht zurückgeben, nur daten.
ps: kennt hier jemand eine typorientierte sprache(gibts den ausdruck überhaupt?), die sowas unterstützt?
-
otze schrieb:
typen kann man nicht zurückgeben, nur daten.
ps: kennt hier jemand eine typorientierte sprache(gibts den ausdruck überhaupt?), die sowas unterstützt?
Nö, aber Lisp unterstützt das.
-
natürlich gibt es Sprachen, in denen Typen auch nur Objekte sind.
-
Bashar schrieb:
otze schrieb:
typen kann man nicht zurückgeben, nur daten.
+scnr+
-
Bashar schrieb:
otze schrieb:
typen kann man nicht zurückgeben, nur daten.
[x]trollpost wegen:fehlende begründung
-
otze schrieb:
Bashar schrieb:
otze schrieb:
typen kann man nicht zurückgeben, nur daten.
[x]trollpost wegen:fehlende begründung
Die Begründung ist einfach: Du hast das Problem nicht verstanden (und nun weigerst du dich natürlich dies einzugestehen).
Das Problem liegt überhaupt nicht in einer Typ vs. Wert-Geschichte sondern in der Tatsache, dass man weder in C noch in C++ ein Array (weder ein ein-, noch ein N-Dimensionales) als Rückgabewert einer Funktion haben kann.
Man kann Referenzen auf Arrays zurückgeben oder Strukturen die Arrays enthalten oder Pointer...aber eben keine Arrays.
-
Sorry das ich gestern nicht mehr antworten konnte, ich hab natürlich nur eine referenz auf ein eindimensionales array zurückgegeben. Lässt sich da per typedef auch was für ein zweidimensionales machen? oder doch eine gute alte struct?
-
HumeSikkins schrieb:
otze schrieb:
Bashar schrieb:
otze schrieb:
typen kann man nicht zurückgeben, nur daten.
[x]trollpost wegen:fehlende begründung
Die Begründung ist einfach: Du hast das Problem nicht verstanden (und nun weigerst du dich natürlich dies einzugestehen).
Das Problem liegt überhaupt nicht in einer Typ vs. Wert-Geschichte sondern in der Tatsache, dass man weder in C noch in C++ ein Array (weder ein ein-, noch ein N-Dimensionales) als Rückgabewert einer Funktion haben kann.
Man kann Referenzen auf Arrays zurückgeben oder Strukturen die Arrays enthalten oder Pointer...aber eben keine Arrays.ok, von der warte ist es eindeutig. ich hab den text halt anders interpretiert, dass waldfee einen typ zurückgeben wollte, was nicht möglich ist. Das liegt auch einfach nicht am nicht zugeben wollen, sondern, dass es von meiner interpretation aus so ausgesehen hat. Ich hoffe, dass sich das nun geklärt hat.
-
Auch eindimensional geht das nicht. Da hilft nur struct.
-
Benutz einfach std::vector, da hast du all die Probleme nicht.
-
Problem schon gelöst, außerdem nehme ich einen vector nur wenn ich nicht weiß wie groß das Array sein wird. Nennt mich altmodisch :p