Array unbekannter Größe

donjunker

Grünschnabel
Hallo,
ich habe ein Problem mit dynamischen Arrays.
Ich habe eine Unterfunktion zum Auslesen einer Textdatei. Diese Textdatei enthält die Größe und den Inhalt eines eindimensionalen double-Arrays.
Nun muß ich in der Main-Funktion ein Array initialisieren (nur habe ich hier die Größe ja noch nicht), es an die Unterfunktion übergeben, dort die Größe festlegen (auch aus der Textdatei eingelesen), mit den ausgelesenen Werten beschreiben und zur weiteren Verarbeitung wieder an die Main zurück geben.
Mein Problem ist nun, wie ich dieses Array in der Main deklariere, da dessen Größe ja erst in der Unterfunktion eingelesen wird.

Vielleicht kann mir ja jemand helfen.
Gruß donjunker
 
Ich würde da wenn möglich auf einen std::vector (oder std::list) zurückgreifen. Alles andere läuft darauf hinaus,
entweder in der Unterfunktion ein new[] durchzuführen und darauf zu hoffen, dass der Aufrufer irgendwo delete[] darauf aufruft,
oder das komplette Array als Rückgabewert über den Stack zu kopieren (und das klappt mit variabler Grösse auch nicht so einfach).

Mit dem vector so:

Code:
#include <vector>

// in der main
.....
std::vector<double>     vectDoubles;

LeseVonDatei( vectDoubles );
....


void LeseVonDatei( std::vector<double>& vectDoubles )
{

  ...
  vectDoubles.push_back( dNeuerDoubleWert );
  ....

}
 
Vielen Dank für die schnelle Antwort.
Ich bin jetzt einen ganz anderen Weg gegangen und dem Problem so ausgewichen.
Gruß donjunker
 

Neue Beiträge

Zurück