Здравствуйте, B0FEE664, Вы писали:
BFE>Вот грабли, на которые я ещё не наступал:
BFE>BFE>const int max_v = 10;
BFE>void fun(int y)
BFE>{
BFE> const int max_v = [&]{
BFE> // локальный max_v перекрывает глобальный max_v
BFE> return std::min(max_v, y);
BFE> }();
BFE> ...
BFE>}
BFE>
Это ещё с сишечки по-моему так. В любом случае, компилятор тебе скажет, как минимум предупреждение, что одна переменная скрывает другую. Но, конечно, если у тебя при компиляции "кучи ненужных варнингов" (c) (tm), но будут грабли.