При наличии:
template <typename Super>
class Whatever : public Super
{
...
};
возможно ли создать Whatever
класс, не производный от чего-либо?
Это более легкая версия?
struct BlankType{};
Whatever<BlankType> w;
////////////////////////////////////////
Некоторый фон:
Мой код состоит из шаблонных слоев, таких как Whatever
выше. Так что я могу сделать:
typedef Whatever<Whenever<Wherever<>>>> MyCombinedType
на самом деле не могу. Я должен сделать
typedef Whatever<Whenever<Wherever<BlankType>>>> MyCombinedType
и тип становится также BlankType.
Я не могу сделать Wherever
«не слоями», потому что когда я буду делать просто
typedef Whatever<Whenever<>>> MyCombinedType
проблема снова появится ...