我做一個簡單的正常化向量(權重),試圖利用STL算法使代碼儘可能乾淨(我意識到這是相當瑣碎與循環):如何從C++ 11匿名函數中訪問局部變量?
float tot = std::accumulate(weights.begin(), weights.end(), 0.0);
std::transform(weights.begin(), weights.end(), [](float x)->float{return(x/tot);});
目前,tot對於匿名函數是不可見的,所以這不會被編譯。使匿名函數可見的局部變量的最佳方式是什麼?
對不起,0應該是0.0!編輯 – bd1