Array übergeben?
-
Wie kann ich eine Funktion ein Array zurückgeben lassen? Müßte ja irgendwie über einen Zeiger auf das 1. Element des Feldes funktionieren, aber ich habe keine Ahnung wie das entsprechende Konstrukt aussehen müßte.
-
Entweder du übergibst einen Zeiger (der korrekte Typ wäre dann "T*") - aber achte darauf, daß das Array nach dem Funktionsende gültig bleibt (also entweder static-Variablen oder Heap-Daten). Oder du verwendest STL-Container (vector, deque, basic_string,...).
-
CStoll schrieb:
Entweder du übergibst einen Zeiger (der korrekte Typ wäre dann "T*") - aber achte darauf, daß das Array nach dem Funktionsende gültig bleibt (also entweder static-Variablen oder Heap-Daten). Oder du verwendest STL-Container (vector, deque, basic_string,...).
Wird wohl Zeit für nen FAQ-Eintrag, falls es den nicht schon geben sollte. Was meinst Du?

-
Mhh ja dafür wäre ich auch, dann kann ich es mir gleich mal am praktischen Beispiel anschauen

-
UNeverNo schrieb:
Mhh ja dafür wäre ich auch, dann kann ich es mir gleich mal am praktischen Beispiel anschauen

nana, so war das nicht gemeint

-
Bsp.
char *TakeArray(); int main() { char TheFirst; char TheSecond; char *MyArray; MyArray = TakeArray(); TheFirst = MyArray[0]; TheSecond = MyArray[1]; return 0; } char *TakeArray() { static char Array[1000]; return Array; //Array ohne Index ist ein Zeiger auf das erste Element des Arrays }
-