Данный класс MyClass
с одним параметром шаблонаC++ параметр шаблона класса должен иметь определенный родительский класс
template<typename T>
class MyClass
{
//...
};
и другого класса MySecondClass
с двумя параметрами шаблона.
template<typename T, typename U>
class MySecondClass
{
//...
};
То, что я хотел бы сделать, это ограничить MyClass
, чтобы разрешить только T
, который является производным типом MySecondClass
. Я уже знаю, что нужно что-то вроде
template<typename T, typename = std::enable_if<std::is_base_of<MySecondClass<?,?>, T>::value>>
class MyClass
{
//...
}
Я просто не уверен, что положить в для ?
, как я хочу, чтобы все возможные MySecondClass
«с.
Я редактировал вопрос. Если вы считаете, что это не правильно, пожалуйста, откиньте его назад. – NathanOliver
Интересно, что такое упражнение. Как вы планируете использовать тот факт, что 'T' происходит от некоторого экземпляра' MyParentClass'? Как вы думаете, что вы можете делать с «T», зная это, что вы не могли бы сделать иначе? –
Почему вы постоянно меняете вопрос? –