Ich verwende die Vektorklasse mit komplexen Zahlen und ich muss multiplizieren einen Vektor von komplexen Zahlen mit einer komplexen Zahl, wie folgt aus:Fehler: keine Übereinstimmung für 'operator *' (Operandentypen sind 'std :: vector <std :: komplex <double>>' und 'std :: komplex <double>')
vector< complex<double> > vec;
complex<double> z;
// some initialization of vec and z ...
vector< complex<double> > res;
res = vec*z; // here is the error
error: no match for ‘operator*’ (operand types are ‘std::vector<std::complex<double> >’ and ‘std::complex<double>’)
Ist es möglich Betreiber zu überlasten * mit diesen Parametern?
Danke, es funktioniert genau, wie ich es brauche. – Pekov
Ich habe bearbeitet, um die Bildlaufleiste zu entfernen. Interessante Frage, ob dies einfacher zu lesen ist als eine korrekt formatierte Version von 'vector> res (v); für (auto & x: res) x * = z; return res; 'und was die relativen Leistungsmerkmale sind. –