返回一个整数矩阵

return a matrix of integers

本文关键字:整数 一个 返回      更新时间:2023-10-16

嗨,我正在创建一个矩阵对象,这是一个容器的int[3][3]

我想添加一个get_matrix()函数,它返回对象本身或指向它的指针,但我不能。Eclipse显示:

类型不能转换的int(*)[3][3]"到"int * *"

enter code here
class Matrix
{
  private:
  int matrix[3][3];
  public:
  void set_matrix()
  {
      int c, d;
      printf("Enter the elements of first matrix1n");
      for (c = 0; c < n_rows; c++)
        for (d = 0; d < n_column; d++)
          scanf("%d", &matrix[c][d]);
  }
  int get_matrix(){
      return matrix;
  }
  void output_matrix()
  {
      int c, d;
        for (c = 0; c < n_rows; c++) {
            printf("n");
          for (d = 0; d < n_column; d++)
            printf("%dt", matrix[c][d]);
        }
  }
};

试试这个:

int **get_matrix() const {
    return reinterpret_cast<int **>(matrix);
}

或:

int **get_matrix() const {
    return (int **) matrix;
}

二维数组不能隐式地转换为指向int的指针,尽管两者之间有一些相似之处。但是,您可以强制转换为int **

您还可以(而且可能应该)使用现成的c++容器,而不是试图重新发明轮子。

相关文章: