我正在对一个向量(权重)进行简单的规范化,尝试使用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对匿名函数不可见,所以这段代码无法编译。最好的方法是如何让局部变量对匿名函数可见?