Hier aktualisiert ist mein Code:Privat Doppel Variable, wird nie
Mein Ergebnis nie ändert und geht immer auf 0
ich ein Skalarprodukt von zwei Vektoren tue. Ich kann keine STL-Algorithmen wie std::inner_product
verwenden. Also muss ich einen Iterator schreiben. Die operator=
sollte die Ansammlung tun
template <uint32_t DIM>
double Vector<DIM>::dot(const Vector& rhs) const
{
return std::transform(begin(),end(),rhs.begin(),accumulator(),multiply()).getresult();
}
class accumulator
{
public:
accumulator& operator++(){
return *this;
}
accumulator operator++(int){
return *this;
}
accumulator operator*(){
return *this;
};
void operator=(double a){
result=result+a;
}
double& getresult(){
return result;
}
private:
double result;
}