【发布时间】:2020-03-30 17:10:23
【问题描述】:
我有一个类似的代码
template <size_t N>
class A
{
template <size_t N>
someFunctions() {};
};
现在我想创建该类的实例并在 for 循环中调用其中的函数以获取一组许多值,例如
// in main()
int main()
{
for (int i = 1; i <= 100; i++)
{
const int N = i; // dont know how to do this
A<N> a;
a.functionCalls();
}
}
如何做到这一点? 希望有一种方法可以做到这一点。
【问题讨论】:
-
要用作模板参数
N需要是constexpr如果它是循环变量则不是这种情况 -
不能,A 真的需要做模板吗?
-
是的,由于某些原因,A 类需要成为模板,它是某种东西的模型,所以它必须是模板类
标签: c++ for-loop templates compile-time-constant template-classes