は、私が探していたコード、Source codeです:私たちはいくつかのファンクタX
すなわちfunction_traits<X>;
とそれをインスタンス化した場合混乱継承とテンプレート
template <typename T>
struct function_traits
: public function_traits<decltype(&T::operator())>
{};
、それは相続によるfunction_traits<decltype(&X::operator())>
ある基底クラスを構築しますが、これだけにfunction_traits<decltype(&X::operator())>
ビルドする必要もあります。function_traits<decltype(Z)>
私は理解していますfunction_traits<X>
!= function_traits<Z>
です。再帰的な継承ではありませんか? 0_o。 どのようにすべてのことが一緒に働いていますか?
試してみるとどうなりますか? –
私はあなたの質問が何であるか分かりません。これは、メンバー関数ポインタのための 'function_traits'の他の特殊化なしでは有効なコードではありません。 – ildjarn
@FreakEnum:はい、そのコードには私が参照していた正確な特殊化が含まれています。 ; - ] – ildjarn