Как включить предупреждение о неиспользуемых лямбда-выражениях в gcc?
В следующем коде есть опечатка, в которой я забыл вызвать лямбда-выражение с помощью ()
:
#include <iostream>
int main()
{
[]{ std::cout << "hello"; };
}
К счастью, clang выдает -Wunused-value
предупреждение для лямбда-выражения, поскольку оно никогда не оценивается / не используется.
Однако gcc вообще не выдает никаких предупреждений. Есть ли способ предупредить об этом коде с ошибками при компиляции с помощью gcc?
Существует родственный сообщение о неиспользуемых лямбда захватами здесь что аналогично, но этот вопрос по неиспользованным лямбда - выражения сами.
Ответы
В GCC есть опция предупреждения, -Wunused
которая включает все предупреждения о неиспользуемых частях кода. Последний (основной) GCC не предупреждает о неиспользованной лямбде с опциями -Wunused -Wall -Wextra
. Поэтому я пришел к выводу, что в данный момент нет возможности включить предупреждение о показанной программе в GCC.