Как правильно разрешить неиспользованное предупреждение, когда экземпляр используется в операторе сгиба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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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