【问题标题】:How to create gettable template type data sa class field?如何创建可获取的模板类型数据sa类字段?
【发布时间】:2013-04-05 11:13:48
【问题描述】:

我有一个:

template<class T, class E>
class Bla {
}

我想让其他类可以访问 T,例如:

Bla::TypeOfE

在 C++03 中这样的事情是可能的吗?怎么做?

【问题讨论】:

  • 不,你不能这样做。你也许可以让它像Bla&lt;int, int&gt;::TypeOfE 一样工作。在这种情况下,您希望它引用什么类型?该类型特定于模板类的每个实例。

标签: c++ visual-studio-2010 c++03


【解决方案1】:

添加public部分

typedef T TypeOfT;

像这样使用它

Bla<int, double>::TypeOfT value;

【讨论】:

    【解决方案2】:

    是的:

    template<class T, class E>
    class Bla {
     public:
         typedef E TypeOfE;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 2020-03-08
      • 1970-01-01
      相关资源
      最近更新 更多