我正在尝试创建动态矩阵的模板类.凭借我目前对C++的了解,我设法解决了一些问题,但我坚持使用复制构造函数并重载operator =; 换句话说,我无法创建我的对象的副本.在我oppinion这应该工作,但我的朋友,编译器,告诉我,我有1错误:错误:通过"常量矩阵"作为"这个"的"廉政矩阵参数:: getElement(INT,INT)与T = INT ]'在此行丢弃限定符[-fpermissive]:
m[i][j] = original.getElement(i, j);
Run Code Online (Sandbox Code Playgroud)
当我想创建一个对象时:
Matrix<int> m = Matrix<int>(3, 3);
Run Code Online (Sandbox Code Playgroud)
我的模板类在这里:
template<class T>class Matrix
{
public:
Matrix<T>(int lines, int columns)
{
this->lines = lines;
this->columns = columns;
T* aux = new T[this->lines * this->columns];
m = new T*[lines];
for (int i = 0; i < this->lines; i++)
{
m[i] = aux + (i * this->columns);
}
for (int i = 0; i < this->lines; i++)
{
for (int j = 0; j < …Run Code Online (Sandbox Code Playgroud) c++ templates compiler-errors operator-overloading copy-constructor