01/10/2018, 08:31

Chương trình con trỏ cấp 2 không chạy được

Chương trình ko chạy được, có lẽ có vấn đề về mảng hai chiều và con trỏ cấp hai :(( mọi người giúp em vs

#include <stdio.h>
#include

using namespace std;
class matrix{
	private:
		int rows;
		int columns;
		int **data;
	public:
		matrix(int s1,int s2, int e);
	int 	layrows(){
			return  rows;
		}
    int laycolumns(){
    	return columns;
	}
		
};
matrix::matrix(int s1,int s2,int e){
	rows=s1;
	columns=s2;
	*data=new (int*[rows]);
	for(int j=0;j<rows;j++) data[j]=new (int[columns]);
	for(int i=0;i<rows;i++){
		for(int j=0;i<columns;j++)
		data[i][j]=e;
		
	}
	
}
int main(){
	matrix x(4,5,6);
	cout<<x.laycolumns()<<x.layrows()<<endl;
	
}
Phùng Tiến Triều viết 10:40 ngày 01/10/2018

Vấn đề gì bạn rõ mọi người mới giúp được chứ

rogp10 viết 10:37 ngày 01/10/2018

*data=new (int*[rows]);

Sai ở câu này. Tạm hiểu rằng data là 2D vậy *data là 1D, gán bằng int*[] là tiêu ma.

Bài liên quan
0