我有一个类模板,它看起来像这样选择性地定义一个类型:是否有可能在派生类中
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
已定义,请使用其他方法,在foo
本地将some_type
定义为'int
- 所以问题是,这可能吗?
我可以颠倒的关系,并拯救自己有些头痛,但它不是在实际应用中非常合乎逻辑......
这正是我正在寻找的!非常感谢。 – Nim 2011-02-11 09:15:38