J'utilise la classe de vecteurs avec des nombres complexes et je dois multiplier un vecteur de nombres complexes avec un nombre complexe, comme celui-ci:Erreur: aucune correspondance pour 'opérateur *' (les types d'opérande sont 'std :: vecteur <std :: complexe <double>>' et 'std :: complexe <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>’)
Est-il possible de surcharger l'opérateur * avec ces paramètres?
Merci, cela fonctionne exactement comment je en ai besoin. – Pekov
J'ai modifié pour supprimer la barre de défilement. Question intéressante si c'est plus facile à lire qu'une version correctement formatée de 'vector> res (v); pour (auto & x: res) x * = z; return res; ', et quelles sont les caractéristiques de performance relative. –