1
関数パラメーターのテンプレート引数プレースホルダーとしての「auto」
C ++ 20ではauto、関数パラメーター型を使用できます。 関数パラメーター型のautoテンプレート引数プレースホルダーとして使用することもできますか(似ていないが、C ++ 17 template <auto>の精神で)。 したがって、C ++ 20より前の次のコード: template<typename First, typename Second> void printPair(const std::pair<First, Second>& p) { std::cout << p.first << ", " << p.second; } 次のように書くことができます: void printPair(const std::pair<auto, auto>& p) { std::cout << p.first << ", " << p.second; } それはコンパイルし、概念の実験的なGCC実装でうまく動作します。 C ++ 20での正当な構文ですか?