<C++Learn/>
テンプレート レッスン6

SFINAE

置換失敗はエラーではない(SFINAE)の原則と活用方法を学びます

SFINAEとは

SFINAE(Substitution Failure Is Not An Error)は、テンプレート引数の置換に失敗しても コンパイルエラーにせず、その候補をオーバーロード解決の対象から除外する仕組みです。std::enable_if と組み合わせることで、 型の特性に基づいてテンプレートの有効/無効を切り替えられます。C++20以降はコンセプトで代替可能です。

enable_ifによるSFINAE

C++エディタ

型特性とSFINAE

C++エディタ