Как правильно разрешить неиспользованное предупреждение, когда экземпляр используется в операторе сгибаC++

Программы на C++. Форум разработчиков
Anonymous
Как правильно разрешить неиспользованное предупреждение, когда экземпляр используется в операторе сгиба

Сообщение Anonymous »

В приведенном ниже коде я получаю предупреждение о компиляции следующего: < /p>

Код: Выделить всё

error: variable 'process_arg' set but not used [-Werror=unused-but-set-variable]
const auto process_arg = [&](const T& arg) -> bool
< /code>
#include 

template 
concept Computable = std::integral || std::floating_point;

template 
bool foo(const double&, Args... args)
{
const auto process_arg = [&](const T& /*arg*/) -> bool
{
return true;
};

if (!(process_arg(args) && ...))
{
return false;
}

return true;
}
afaict, это происходит потому, что могут быть сделаны вызовы в foo () , которые имеют только начальный двойной , и никаких других аргументов.

Код: Выделить всё

[[maybe_unused]] const auto process_arg = [&](const T& /*arg*/) -> bool
Вопрос: есть ли более идиоматический способ C ++ для удаления предупреждения, кроме как с использованием wally_unused ?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -a-fold-op

Вернуться в «C++»