У меня есть шаблон класса, который выглядит следующим образом:
template <Base>
struct foo : Base
{
typedef int some_type;
};
, и у меня есть база, которая выглядит следующим образом:
struct some_base
{
typedef float some_type;
};
Теперь foo<some_base>::some_type
будет int
поскольку производное foo
скроет Base::some_type
.Что я хотел бы сделать, так это то, что если определено Base::some_type
, используйте это еще, определите some_type
локально в foo
как 'int
- поэтому вопрос в том, возможно ли это?
Я мог бы перевернуть отношения и избавить себя от головной боли, однако в реальном приложении это не очень логично ...