在Bjarne Stroustrup C Book(第13章,第331页)中,它说“模板参数可用于后续模板参数的定义”.它提供了以下代码:
template<class T,T def_val> class Cont{ /* ... */ }
任何人都可以提供如何使用此模板的示例.例如,如何初始化Cont的对象?在我看来,“def_val”不是类型参数,不应该放在<>中.我错了吗?
非常感谢
解决方法
你可以这样做:
Cont<int,6> cnt; // ^ as long as this is of type T (in this case int) // def_val will be of type int and have a value of 6
模板参数不需要是类型.
这只适用于T是一个整数类型(int,unsigned,long,char等但不是float,std :: string,const char *等),正如@Riga在他/她的评论中提到的那样.