SFINAE
SFINAEという語が最初に登場したのは、David VandevoordeのC++テンプレートに関する技術書である。
具体的には、
多重定義解決の時に、
テンプレート引数を対応する箇所に展開して実体化ものが解決先の候補となるが、
その展開時にエラーが発生したとしても、
そのエラーはコンパイル時エラーとならず、単に候補から除外されて、コンパイルは続行される
となる状況を表す。 このような状況になり、残った候補の中から多重定義解決が成功すれば、実際に実行可能である。