For starters, you need to indent your code properly. I see this part:

vector<FunctionWithArrayAsArgument>::iterator end = Vector_Of_Functions.end();
...