I have a problem with this std::accumulate function. When compiling this I have quite much compile notifications but it compiles.
One that says:
warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
This is what is happening here. I have declared the elements in vector "vec" to doubles with 2 decimals.
However the output of this will be 15 wich is an integer. The output should have been.
(10,50 + 20,50 / 2) = 15,50.
I wonder what I could be doing wrong since everything is declared to doubles. Where is the conversion from double to int that seems to be happening.
vec = 10.50;
vec = 20.50;
double sum = std::accumulate( vec.begin() + 1, vec.begin() + 3, 0);
double Average = ( sum / (3 - 1) );
out << Average;