我想从键盘输入参数(int),然后将其传递给模板以创建对象。模板是
int lim;
cin>>lim;
mpa<lim,int,const char*> C;`
但它需要一个恒定的表达式。如何实现这一行动?
答案 0 :(得分:4)
这是不可能的。模板在编译期间实例化,您希望在运行时更改行为。 或者,如果知道了一组可能的参数值,您可以在switch / case或类似构造中提及它们。 当然,当使用这种技术时,应该意识到代码膨胀 - 模板的所有实例化都将被编译成二进制文件,所以这根本不是做事的好方法