2

テンプレート化された構造体があります:

template <typename T, typename T2>
struct MyStruct {};

ある型が「MyStruct」であるかどうかを判断したい (テンプレートのパラメーターが何であるかは気にしない)。

template <typename OtherType, typename TestingType, typename = std::enable_if< IsMyStruct<TestingType>::value, TestingType>::type >
struct OtherStruct {};

書き方IsMyStruct

4

1 に答える 1

4

次のように実行できます。

#include <type_traits>

template <typename T>
struct IsMyStruct : std::false_type { };

template <typename T1,typename T2>
struct IsMyStruct<MyStruct<T1,T2> > : std::true_type { };
于 2013-03-11T03:14:38.833 に答える