Abend,
ich hab hier ein paar Probleme mit einem code, den ich gerade am Schreiben bin. Es geht darum in eine Templateklasse einen Vektor zu kapseln. Dabei will bei mir die Überladung eines Operators nicht funktionieren (Fehlermeldung: Binärer Operator '+' hat zu viele Parameter).
#include <math.h>
#include <iostream>
template<typename T, int dim>
class Vector
{
private:
T vec[dim];
public:
Vector(){
T zero = 0;
for(int i = 0;i <= dim -1;i++){
vec = zero;
}
}
T& operator[](int index){
return vec[index];
}
Vector Vector:perator+(Vector const laddv, Vector const raddv){
T resvec[dim];
for(int i = 0;i <= dim -1;i++){
resvec = laddv + raddv;
}
return resvec;
}
};
int main()
{
typedef Vector<float, 3> Vector;
Vector f, g;
f[0] = 1.0f; f[1] = 2.0f; f[2] = 3.0f;
g[0] = 3.0f; g[1] = 2.0f; g[2] = 1.0f;
Vector h = f + g;
return 0;
}
Kann mir jemand einen Tip geben, wo der Fehler ist ?
Danke im vorraus.
ich hab hier ein paar Probleme mit einem code, den ich gerade am Schreiben bin. Es geht darum in eine Templateklasse einen Vektor zu kapseln. Dabei will bei mir die Überladung eines Operators nicht funktionieren (Fehlermeldung: Binärer Operator '+' hat zu viele Parameter).
#include <math.h>
#include <iostream>
template<typename T, int dim>
class Vector
{
private:
T vec[dim];
public:
Vector(){
T zero = 0;
for(int i = 0;i <= dim -1;i++){
vec = zero;
}
}
T& operator[](int index){
return vec[index];
}
Vector Vector:perator+(Vector const laddv, Vector const raddv){
T resvec[dim];
for(int i = 0;i <= dim -1;i++){
resvec = laddv + raddv;
}
return resvec;
}
};
int main()
{
typedef Vector<float, 3> Vector;
Vector f, g;
f[0] = 1.0f; f[1] = 2.0f; f[2] = 3.0f;
g[0] = 3.0f; g[1] = 2.0f; g[2] = 1.0f;
Vector h = f + g;
return 0;
}
Kann mir jemand einen Tip geben, wo der Fehler ist ?
Danke im vorraus.