std::map<unsigned int,std::vector<std::vector<double> > > normal;
std::map<unsigned int, std::vector<std::vector<double> > >::iterator it_Set;

for(it_Set = mSetContactNormals.begin(); it_Set != mSetContactNormals.end(); ++it_Set)
{
std::vector<std::vector<double> > vectorSet(it_Set->second);
std::vector<std::vector<double> >::iterator it_vs;
Vector<double> ac_normal(3,0.00);

for(it_vs = vectorSet.begin(); it_vs != vectorSet.end(); ++it_vs)
{
Vector<double> normal_in_set(*it_vs);
ac_normal += normal_in_set; // error here

}

ac_normal *= (1.00/sqrt(std::inner_product(ac_normal.begin(),ac_normal.end(),ac_normal.begin(),0.00))); //errors 1,2

mContactNormals[it_Set->first] = ac_normal; //3
}

1-error C2784: 'class std::complex<_Ty> &__cdecl std:perator *=(class std::complex<_Ty> &,const class std::complex<_U> &)' : could not deduce template argument for 'cl
*** std::complex<_Ty> &' from 'class std::vector<double,class std::allocator<double> >'

2-error C2676: binary '*=' : 'class std::vector<double,class std::allocator<double> >' does not define this operator or a conversion to a type acceptable to the predefin
ed operator

3-error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'double' (or there is no acceptable conversion)