2
ラムダキャプチャと同じ名前のパラメータ-誰が他をシャドウしている?(clangとgcc)
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0以降では「clang ++を使用しています!」と出力されます。キャプチャ fooが使用されていないことを警告します。 g ++ 4.9.0以降では、「あなたはg ++を使用しています!」と出力します。パラメータ fooが使用されていないことを警告します。 ここでC ++標準に正確に準拠しているコンパイラはどれですか? ワンドボックスの例