Я выполняю простую нормализацию вектора (веса), пытаясь использовать алгоритмы STL, чтобы сделать код как можно более чистым ( Я понимаю, что с циклами for это довольно тривиально):
float tot = std::accumulate(weights.begin(), weights.end(), 0.0);
std::transform(weights.begin(), weights.end(), [](float x)->float{return(x/tot);});
В настоящее время tot не видна анонимной функции, поэтому она не компилируется. Как лучше всего сделать локальную переменную видимой для анонимной функции?