Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++模板类。我有一个我不明白的错误。大约30个_C++_Matrix - Fatal编程技术网

C++模板类。我有一个我不明白的错误。大约30个

C++模板类。我有一个我不明白的错误。大约30个,c++,matrix,C++,Matrix,我想实现的是维护一个模板矩阵类,但是在30个错误中有一些错误,这是我不太理解的。请帮忙!! 一些错误: “标识符”:未声明的标识符,它显示为col、row和T。 无法识别的模板声明/定义。 '操作员首先,发布所有错误的全文 第二,在声明矩阵之前,有两个函数使用矩阵,即 template <int row, int col, typename T = int> class Matrix; 像这样使用它 for (int i = 0; i < my_matrix.Rows; ++

我想实现的是维护一个模板矩阵类,但是在30个错误中有一些错误,这是我不太理解的。请帮忙!! 一些错误: “标识符”:未声明的标识符,它显示为col、row和T。
无法识别的模板声明/定义。
'操作员首先,发布所有错误的全文

第二,在声明矩阵之前,有两个函数使用矩阵,即

template <int row, int col, typename T = int>
class Matrix;
像这样使用它

for (int i = 0; i < my_matrix.Rows; ++i)

第四,与其使用C数组,不如考虑使用它,因为它定义了许多有用的方法,主要允许您使用默认的复制和移动构造函数和析构函数。

我们猜对错误了吗?当头单独出现时,错误不会出现。添加源文件时,错误会出现。我无法更改其中的一个,我认为这可能是主要问题无法识别的模板声明/定义尝试创建一个新的模板。如果您将矩阵类减少到一些方法的最小值,这样就足够了,这样就会发生错误。像这样,错误可能发生在任何地方,并且可能有几个错误。也就是说,如果行和列是模板参数,为什么不将内部容器设置为实际数组?也就是说,如果您不只是选择将其更改为2d std::vector或std::array。虽然我假设您希望进行一些微优化,因此使用原始阵列?
constexpr int Rows = row;
constexpr int Cols = col;
for (int i = 0; i < my_matrix.Rows; ++i)