コンパイルされない次のコードがあります。 これは私がRetのが何であるかの種類に応じて、メンバーの方法で専門を持ちたい引数テンプレートメソッドenable_if特化
typename std::enable_if<std::is_void<Ret>::value, Ret>::type _on_dispatched() {
// ...
}
typename std::enable_if<!std::is_void<Ret>::value, Ret>::type _on_dispatched() {
// ....
}
を取るテンプレートクラスに2つの関数です。
誰か知っていますか?
:しかし、あなたは内の別のテンプレートをこのテンプレートをパックすることができます。 :) http://liveworkspace.org/code/fd6e5383610d4e0d8fb17c5497991355 – Xeo
@Potatoswatter:実際には、いいえ、それは冗談ではありませんでした。リンクを参照すると、戻り値の型だけが実行可能かどうかを判断する、まったく同じシグネチャの関数を完全に細かく設定することができます。 :Pまた、 'std :: is_void()'を使うだけで、 'std :: true_type'か' std :: false_type'のどちらかから派生する型の特性が必要です。 –
Xeo
Btw、[メンバ関数をC++ 11の既定のパラメータを持つテンプレートにすることができます](http://liveworkspace.org/code/781d94df5499998947217970c1aebf2a)。 – Xeo