Lỗi NullPointerException khi sử dụng con trỏ?

mình không dùng con trỏ thì nó không có lỗi nhưng có con trỏ thì lại gặp lỗi, mong m.n gỡ rối dùm. tk!

#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
template<class t> class mang
{
	int n;
	t *pt;
	public:
		void nhap()
		{
			int i=0;
			cout<<"so phan tu cua mang "; cin>>n;
			pt=new t[n];
			for(;i<n;i++)
			{
				cout<<"gt phan tu thu "<<i+1<<" la "; cin>>pt[i];
			}
		}
		void xuat()
		{
			int i=0;
			for(;i<n;i++)
			{
				cout<<pt[i]<<" ";
			}
			cout<<endl;
		}
		int timkiem(t x);
};
template<class t>int mang<t>::timkiem(t x)
		{
			int i=0;
			for(;i<n;i++)
			{
				if(pt[i]==x) return i;
				
			}
			return 0;
		}
int main()
{
	int a=8;
//	cout<<"nhap gt can tim "; cin>>a;	
	mang<int> *p;
	p->nhap();
	p->xuat();
	mang<float> x;
	x.nhap();
	x.xuat();
	cout<<"x trong mang thuc: "<<x.timkiem(a)<<endl;
	cout<<"x trong mang nguyen: "<<p->timkiem(a)<<endl;	
	getch();
}

Bạn có 1 giờ để sửa lại bài viết. Xem cách up code lên diễn đàn tại đây [Markdown][1]

p/s: Nếu không sửa mình sẽ sửa cho bạn T___T huhu.
[1]: Cách post Code dùng Markdown trong Category Programming

1 Like

:slight_smile: tk, đã sửa xong :stuck_out_tongue:

2 Likes

Ok, hết nhiệm vụ. Chờ các bạn vào chỉ giúp nhé :blush: Chúc bạn ăn cơm ngon miêng ^^

2 Likes

Chương trình này build đâu có lỗi đâu?

Build không lỗi nhưng chạy bị lỗi NullPointerException =)))). Vi p là con trỏ nên cần phải cung cấp bộ nhớ cho nó

1 Like

quảng cáo : đừng ném đá em :cry:

vậy p này phải new cái j đây, cái khuôn hình nó khác với lớp tường minh p=new mang k dc, p=new mang lại càng không, p=new int[mang] thì sai luôn, vậy new th p đó thế nào m.n

new đến từng phần tử (cấp phát bộ nhớ theo số lượng) ví dụ =new mang[x.soluong]

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?