2012-04-27 4 views
1

동적으로 할당 된 2D 배열의 내용을 인쇄하려고합니다. 그러나 요소를 첨자하려고하면 오류가 발생합니다. 어떤 도움을 주시면 감사하겠습니다.동적 2D 배열 인쇄, C++

배열 만드는 조각 : 이것은 배열의 내용을 인쇄하도록되어

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

어떤 컴파일러입니까? GCC 4.6.2에서 잘 작동합니다. – chris

+1

당신의 코드가 GCC 4.4에서 컴파일되었고 모든 (그리고 여분의) 경고가 활성화되어있는 것으로 보인다. 그래서 나는 오류를 재현하지 못한다. 당신이 시도하고 싶은 다른 것이 있다면, 조언을 해주십시오. – thb

+0

저는 G ++,'g ++ -Wall -pedantic -g -o executable_name some_object_files'를 사용하고 있습니다. – rectangletangle

답변

0

글쎄, 바보처럼 느껴진다. m_points은 멤버 변수 였고 두 번 선언했습니다 (한 번은 생성자에서, 한 번은 헤더 파일에서). 이 문제를 수정하면 모든 것이 완벽하게 작동합니다. 어쨌든 도움을 주셔서 감사합니다.