Probleme return std::vector>

Hallo!

Ich möchte einen komplexen Vektor zurückgeben, jedoch entsteht ein
Laufzeitfehler sobald der fertig gebaute Vektor zurückgegeben werden
soll. Kann mir jemand sagen warum der Code an der Stelle bricht und
wie man es richtig macht?

#include
#include
#include
#include
#define PI 3.14159265358979323846

std::vector> read_data(char *file_name);
// …

int main(int argc, char argv[])
{
/*
if(argc != 2)
{
printf(„usage: fft inputfilename outputfilename\n“);
return -1;
}
*/
std::vector> data;
data = read_data(/*&argv[0]*/ „rawdata.dat“);
if(data.size() > read_data(char *file_name)
{
FILE *file_handle;
std::vector> data;
double value;
file_handle = fopen(file_name, „r“);
if(file_handle == NULL)
{
printf(„ERRROR: Inputfile not found\n“);
return data;
}
while(fscanf(file_handle, „%f\n“, &value) == 1)
{
data.push_back(std::complex(value));
}
fclose(file_handle);
return data; // hat alles wunderbar funktioniert. Mit dem
Datentyp complex will das Programm nicht mehr. Der Laufzeitfehler
sagt mir nichts und einen Compilerfehler gibt es nicht.

Würde mich sehr über Hilfe freuen!

MfG

Howdy,

  1. Frage: welcher Compiler auf welchem OS?

  2. Eine Bemerkung: Generell ist dein Programm nicht auf allen Compilern uebersetzbar, denn der Typ heisst

    std::vector >

mit einem zusaetzlichen Space.

Gruss
norsemanna

  1. Visual Studio C++ 2008 Express Edition unter Win XP SP3.

  2. Merci.

Hi Frank,

  1. Visual Studio C++ 2008 Express Edition unter Win XP SP3.
  2. Merci.

Hat sich das Problem erledigt?

Gruss
norsemanna