vector<complex>



  • dieser Code funktioniert nicht:

    #include <complex>
    #include <vector>
    #include <iostream>
    
    int main( )
    {
       using namespace std;
       complex <double> c1 ( 4.0 , 5.0 );
       complex <double> c2 ( c1 );
       vector<complex> VecComplex;
       VecComplex.push_back(c1);
       VecComplex.push_back(c2);
    }
    

    Der Fehler: error C3203: 'complex' : class template invalid as template argument for template parameter '_Ty', expected a real type

    Die ganze SignalVerarbeitungstheorie basiert auf komplexe Zahlen und ich kann nicht mit <complex> Objekte Vektoren bauen? muss ich meine eigene KomplexZahlen Klasse selber basteln oder gibt es auch eine andere Lösung?
    DankeCarmen



  • Hallo,
    Die Klasse std::complex ist selbst ein Template. => Die Zeile

    vector<complex> VecComplex;
    

    muss so lauten:

    vector<complex<double> > VecComplex;
    

    😉

    Gruß Caipi



  • DANKE!Es funktioniert!


Anmelden zum Antworten