我想构建一个简单的矩阵类。我的头文件的相关部分如下所示:
template <typename T>
class matrix
{
private:
unsigned int nrows;
unsigned int ncols;
std::array<std::array<T, ncols>, nrows> mat;
public:
matrix();
unsigned int getCols() const;
unsigned int getRows() const;
};
这里的问题是二维数组(称为mat)需要行数和列数。显然,这不起作用,但我不知道如何解决这个问题。
我的源文件:
template <typename T>
matrix<T>::matrix() : nrows(0), ncols(0) {}
template <typename T>
unsigned int matrix<T>::getCols() const {
return ncols;
}
template <typename T>
unsigned int matrix<T>::getRows() const {
return nrows;
}
矩阵的初始化应如下所示:
matrix<double> my_matrix;
答案 0 :(得分:1)
size
的{{1}}你不能拥有可变大小的参数。因此,您必须为array
类添加两个模板参数。
matrix