gccで未使用のラムダ式の警告を有効にするにはどうすればよいですか?

Aug 18 2020

次のコードにはタイプミスがあり、ラムダ式を()次のように呼び出すのを忘れていました。

#include <iostream>

int main() 
{
    []{ std::cout << "hello"; };
}

幸い、clang-Wunused-valueはラムダ式に対して警告を発行します。これは、ラムダ式が評価/使用されることがないためです。

ただし、gccは警告をまったく発行しません。gccでコンパイルするときにこのバグのあるコードについて警告する方法はありますか?

未使用のラムダキャプチャ に関する関連記事ここにありますが、この質問は未使用のラムダ自体に関するものです。

回答

2 eerorika Aug 18 2020 at 00:12

GCCには-Wunused、未使用のコードに関するすべての警告を有効にする警告オプションがあります。最新の(トランク)GCCは、オプション付きの未使用のラムダについて警告しません-Wunused -Wall -Wextra。したがって、私の結論は、現時点では、GCCで表示されているプログラムについて警告する警告を有効にする方法はないということです。