打印动态2D数组,C ++

时间:2012-04-27 01:51:32

标签: c++ multidimensional-array dynamic-arrays

我正在尝试打印动态分配的2D数组的内容。但是,当我尝试下标元素时,我得到一个错误。任何帮助,将不胜感激。

制作数组的代码段:

   char ** m_points = new char * [m_height];

   for (int y_i=0; y_i<m_height; y_i++)
   {
       m_points[y_i] = new char[m_width];

       for (int x_i=0; x_i<m_width; x_i++)
           m_points[y_i][x_i] = ' ';   
   }

这应该打印数组内容(cout << m_points[y_i][x_i]是发生错误的地方):

   for (int y_i=0; y_i<m_height; y_i++)
   {       
       for (int x_i=0; x_i<m_width; x_i++)
           cout << m_points[y_i][x_i];

       cout << endl;
   }

错误:

invalid types ‘char[int]’ for array subscript

1 个答案:

答案 0 :(得分:0)

好吧,我现在觉得自己像个白痴,大声笑。 m_points是一个成员变量,我将它声明了两次(一次在构造函数中,一次在头文件中)。在修改这个问题之后,一切都很完美。无论如何,谢谢你的帮助。