Прежде всего, я знаю, что могу использовать шаблонный класс/функтор, но это не то, что я хочу.
Вот лямбда:
auto lambda = [] (auto var) {
decltype(var) x;
//do stuff with x but nothing with var
};
Проблема в том, что я получаю предупреждение C4100 (необязательный формальный параметр). Я также знаю, что могу использовать трюки, такие как отключение предупреждения и включение его снова после лямбда или использование макросов, таких как UNREFERENCED_PARAMETER, но это обман.
Есть ли способ сделать это?
Идеальный код будет выглядеть так:
template <typename T>
auto lambda = [] () {
T x;
//do stuff with x
};