Typedef模板的成员类型

时间:2015-09-23 01:20:52

标签: c++ c++11

我的配方是这样的:

template <typename A, typename B>
struct SomeLibraryClass
{
     using Foo = A;
     using Bar = B;
};

现在我想使用它,但重命名它,因为从概念上讲,用法是不同的。

template <typename A, typename B>
using quaz = SomeLibraryClass<A, B>;

但是,如果我想获得酒吧,它仍然是quaz::bar。但我想要quaz::bar代替quaz::foobar。这可能吗?为什么或为什么不呢?

我不能使用继承。它默默地破坏了代码。

1 个答案:

答案 0 :(得分:1)

您无法添加或删除成员,也无法更改已定义的类成员的名称。您所能做的就是定义一个新类。