【发布时间】:2020-11-26 12:36:42
【问题描述】:
试图通过模板agrument将值传递给嵌套类,并且有一些混乱:
template<typename A,typename B>
class outter{
int a;
T* p;
////...////
template<typename N=int> class inner;
inner do_something(){
return inner<a>(p)
}
}
template<typename T,typename A, typename N=int>
class outter<T,A>::inner<N>{
sz=N;
}
任务是为具有范围控制的向量创建迭代器。 现在我陷入了内部类模板声明和传递参数。请,如果可能的话,我需要提前。谢谢!
【问题讨论】:
-
使用
template<typename N=int> class inner,您声明N是一个类型而不是一个值。除此之外,模板是一个纯粹的 compile.time 构造,您不能将任何运行时值(如普通变量)作为模板参数传递。