Biorąc to klasa MyClass
z jednego parametru szablonuC++ parametr szablonu klasy musi mieć specyficzną klasę nadrzędną
template<typename T>
class MyClass
{
//...
};
i innej klasy MySecondClass
z dwóch parametrów szablonu.
template<typename T, typename U>
class MySecondClass
{
//...
};
Co chciałbym zrobić, to ograniczyć MyClass
aby umożliwić T
który jest rodzajem pochodzi od MySecondClass
tylko. Już wiem, że potrzebuję czegoś podobnego
template<typename T, typename = std::enable_if<std::is_base_of<MySecondClass<?,?>, T>::value>>
class MyClass
{
//...
}
Nie jestem tylko pewien, co do wprowadzenia do ?
jak chcę, aby umożliwić wszystkie możliwe MySecondClass
„s.
edytowany pytanie. Jeśli uważasz, że to nie jest poprawne, cofnij je. – NathanOliver
Zastanawiam się nad punktem ćwiczenia. W jaki sposób zamierzasz wykorzystać fakt, że 'T' pochodzi od jakiegoś wystąpienia' MyParentClass'? Co sądzisz, że możesz zrobić to z "T" wiedząc o tym, że nie możesz zrobić inaczej? –
dlaczego ciągle zmieniasz pytanie? –