Не работает перегруженный operator[]

240
18 июля 2017, 20:06

Это часть заголовочного файла:

    public ref class Matrix
    {
    private:
      array<array<double>^>^ M;
      int lines, columns;
    public:
      Matrix(const int l, const int c);
      Matrix(const Matrix% m);
      Matrix(const Matrix% m, const int i);
      array<double>^ operator[](const int i){return M[i];}
      double Determinant();
      double Gauss(array<double>^ r);
  };

Это реализация конструктора копирования:

ClassMatrix::Matrix::Matrix(const Matrix% m)
{
  lines = m.lines;
  columns = m.columns;
  M = gcnew array<array<double>^ >(lines);
  for (int i = 0; i < lines; ++i)
  {
    M[i] = gcnew array<double>(columns);
    for (int j = 0; j < columns; ++j)
      M[i][j] = m[i][j];
  }
}

m[i][j] - ошибка: "выражение должно содержать тип указателя на объект или дескриптора массива". Что я сделал неверно?

READ ALSO
Как найти первое вхождение строки и вернуть всю строку(в которой искали) до конца с места вхождения?

Как найти первое вхождение строки и вернуть всю строку(в которой искали) до конца с места вхождения?

Учу С++ по книге Страуструпа, есть такое задание в конце главы : "Напишите функцию char* findx(const char* s, const char* х) , нахо* дящую первое вхождение С-строки...

272
Не могу разобраться с работой qt_wrap_ui (cmake qt)

Не могу разобраться с работой qt_wrap_ui (cmake qt)

Я только начал изучать QtИспользую clion и соответственно cmake

318
Компиляция C/C++ вместе с Python

Компиляция C/C++ вместе с Python

Программа написана на С, часть кода на python

315