Probleme mit vector.h

Thierfie

Grünschnabel
ich benutze dev-c++ und wollte eigentlich mit der mitgelieferten vector.h was mit vektoren machen. das problem: es funktioniert keine überladung, soll heißen zB. 2 vektoren multiplizieren geht nicht (summe geht):

vector<float> v(3);
vector<float> V(3);
int m;
V = v * v;
V = m * v;

=> no match for 'operator*' in 'v * v'
no match for 'operator*' in 'm * v'

ist die klasse vielleicht nicht überladen? hatte das gleiche problem auch schon bei der klasse complex

danke
 
hm. das erklärt einiges...

gibts dann so ne klasse, die sowas kann, ich hab keine lust das ganze selber zu schreiben.

danke
 
Hy!

Was soll eigentlich passieren wenn du zwei templates miteinander "multiplizierst".
Werte multiplizieren? Das geht mit keinem Template aus der STL, schon allein deswegen weil es Templates sind, können beliebige Daten Speichern. Nicht nur Zahlen sondern auch andere Klassen...

Mir ist aber keine Array Klasse für Zahlen bekannt bei der du die Arrays miteinander multiplizieren kannst, falls du sowas meinst.

tut mir leid.

mfg
uhu01
 
Also meines Wissens gibt es da nix.
Das must du dir selbst schreiben, allerdings weiß ich nicht was bei dem Multiplizieren von 2 std::vector passieren soll.
Sollen die elemente von Vector a mit b multipliziert werden und dann addiert?
Also:
a[0]*[b[0] + a[1]*b[1] + a[2]*a[2] = ?
Oder wie soll das aussehen.
Wenn du das selber schreibst, dann hast du mehrere Möglichkeiten:
- eine Template Klasse von std::vector<class T> ableiten
- eine "normale" Klasse von std::vector<fload> ableiten
- eine Globale Funktion, die 2 Vectoren aufnimmt.

So nun musst du wissen was du willst.

Daniel
 
Selber schreiben... ist ein 10 Zeiler, wenn du nur multiplizieren willst, einfach 2 geschachtelte Schleifen, und dann gehts ganz easy...

...oder wenn du schreibfaul bist, google hilft da...
 
Da wäre es doch einfacher, gleich ein Typedef zu verwenden:
Code:
typedef std::vector<int> int_vector;


Für mathematische Operationen empfehle ich auch std::valarray, das <numeric>-Headerfile und die Algorithmen im <algorithm>-Headerfile.
Ulrich Breymann bietet in einem seiner Bücher umfangreiche Infos dazu. Gibt es wohl auch online.
 
Zurück