Lỗi nạp chồng toán tử C++

Xin chào mọi người, em gặp lỗi khi tính tổng 2 vector, em nghĩ cú pháp là chính xác và vấn đề ở mảng. Mong mọi người có thể chỉ ra lỗi giúp em. Em xin cảm ơn to all.

#include<iostream>
#include<fstream>
using namespace std;

class vecto{
	private:
		int *a;
		int n;
	public:
		void nhapbp();
		void xemmh();
		vecto operator+(vecto);
};
void vecto::nhapbp(){
	cout<<"Nhap so luong phan tu cua vector: "; cin>>n;
	a = new int[n];
	for(int i=0; i<n; i++){
		cin>>a[i];
	}
}
void vecto::xemmh(){
	for(int i=0; i<n; i++){
		cout<<a[i]<<" ";
	}
}

vecto vecto::operator+(vecto v){
	vecto m;
	for(int i=0; i<v.n; i++){
		m.a[i] = this->a[i]+v.a[i];
	}
	return m;
}

int main(){
	vecto a;
	vecto b;

	a.nhapbp();
	a.xemmh();

	cout<<endl;

	b.nhapbp();
	b.xemmh();
	
	vecto tong=a+b;
	tong.xemmh();
	
	return 0;
}

Đúng là đúng chứ sao lại nghĩ là đúng được :v compiler báo lỗi đây nè :v

3 Likes

Đã edit bác ơi, mà lỗi vẫn ở phần operator :disappointed_relieved:

Ờ, thế cái vecto m đã được khởi tạo mảng a chưa?

3 Likes

Em chưa rõ ý bác lắm, e cấp phát động r mà

Bạn cấp phát chỗ nào? Hàm nhapbp() á? Thế trong operator+() bạn gọi nó không?

5 Likes

Cảm ơn bác đã thông não

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