c++. Ganzes Array an Main Funktion zurückgeben ???



  • Hallo !

    Ich habe ein Aarray das ich an eine Funktion übergebe.
    In der Funktion soll das Array automatisch/dynamisch vergrößert werden und
    der komplette Inhalt des Array soll wieder an die Main Funktion übergeben werden.
    Leider klappt es bei mir nicht:
    So sieht mein Quelltext aus:
    //********************************************
    #include <stdio.h>
    #include <iostream>

    using namespace std;

    int array_funktion(int array[])
    {

    int i;

    int j = 1;

    for (i=0; i<999; i++)
    {

    j = j + 1;

    array = new int[j];

    array[i] = i;

    cout<<"Funktion: "<<array[i]<<endl;

    }

    }

    int main ()
    {

    int array[1];

    array_funktion(array);

    cout<<"Rueckgabewert: "<<array[58]<<endl;

    return (0);
    }
    //****************************************

    Kann mir jemand bei diesem Problem helfen ??

    Vielen Dank im Voraus
    B.-D.



  • Hallo,

    klar kann man, wenn du uns sagst, wo das Problem liegt.

    Warum verwendest du nicht einfach std::vector?

    gruss
    v R



  • Hallo !

    Bei der Rückgabe bekomme ich eine komische Zahl zurück.

    Funktion: 994
    Funktion: 995
    Funktion: 996
    Funktion: 997
    Funktion: 998
    Rueckgabewert: -1073742875
    Press Enter to continue!

    Ich will aber den richtigen Inhalt sehen.

    Vielen Dank im Voraus
    B.-D.



  • ein 'int array[1]' ist 'fest' und lässt sich nicht vergrössern. also nimm dafür besser dynamische arrays (entweder std::vector, malloc/realloc, o.ä.)



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten