假设我有一个这样的类模板:
template<typename T>
struct MyClass
{
typedef T inferred_type;
};
在其他地方我看到了一种延迟类型
typedef MyClass<int>* param_type;
但是MyClass<int>*
被推迟了,我不知道int
这里用于实例化。我实际上正在访问另一个 typedef MyClass<int>*
。
我能以某种方式MyClass<int>::inferred_type
从那个指针 typedef 得到吗?
编辑:
关于RiaD的回答,以下行可以满足我的需要:
typedef typename std::iterator_traits<param_type>::value_type::inferred_type TheDecucedInferredType;
请注意,在我在那里看到的上下文中,它本身是一个模板参数,typename
因此只需要它。param_type