【发布时间】:2016-01-22 21:03:07
【问题描述】:
我想用数组中的一些整数填充模板,但这在 C++ 中似乎是不允许的。一个例子:
我用整数定义了一个常量数组。
const int array[4] = {0, 1, 2, 3};
我的模板是这样工作的:
template<int T> TestClass ...
在下面,第一种方式没问题,但是第二种方式编译不了:
TestClass<12> ... // works
TestClass<array[0]> ... // does not work
编译器说在模板中不允许使用运算符“[”。但这是什么原因,我该如何优雅地解决这种情况?是否也可以使用for-loop 的计数器i 来选择数组的整数,例如:
TestClass<array[i]>
【问题讨论】:
标签: c++ arrays templates constants