1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <iostream> using namespace std; class mat{ int** p; int row, col; public: mat(int _row,int _col):row(_row),col(_col){ p = new int*[_col]; } void set(int v){ for (int r=0; r<row; r++) for (int c=0; c<col; c++) p[r][c]=v; // Error : EXC_BAD_ACCESS(code=1,adress0x0) } }; int main(){ mat Matrix(3,2); Matrix.set(5); return 0; } |
생성자 부분이 잘못되었다는데 어떻게 해야 할 지 모르겠습니다...
배열포인터도 아닌데 저렇게 쓸 수 있나요...?
row & col로 2차원배열 동적할당인거 같은데 왜 col로만 만들죠?
두번 할당하면 되는거였군요 감사합니다