我不明白爲什麼模板參數只能用const變量初始化。 作爲,爲什麼不將下面的代碼工作:C++,模板的非參數類型:只有const變量?
#include <iostream>
template <class T,int dim>
class Vec
{
T _vec[dim];
int _dim;
public:
Vec() : _dim(dim) {};
~Vec() {};
// other operators and stuff
};
int main() {
int dim = 3;
Vec < int, dim> vecInt3;
}
如果我添加一個const在主,一切的朦朧的定義是罰款。這是爲什麼?
這樣可以避免這個問題(在模板中不需要'dim'),但不能解釋原因。 –
MSalters