30/09/2018, 17:18

Giải thích giúp lỗi "no global operator found"

Đoạn code của mình như sau

class PS
{
	int ts, ms;
public:
	PS(int ts = 0, int ms = 1){}
	PS operator + (PS){}
};

void main()
{
	PS a, b(3,4), c(2,5);
	a = b + c;
	a = b + 5;
	a = 3 + c; //error
	system("pause ");
}

Giải thích giúp mình tại sao a = 3 + c; lại bị lỗi và sửa lỗi bằng cách nào ạ?
Cảm ơn ^^

Trịnh Minh Cường viết 19:25 ngày 30/09/2018

vì 3 là kiểu int và c là kiểu PS .

Gió viết 19:25 ngày 30/09/2018

Viết thêm operator ở ngoài class

PS operator+(int a, const PS& b){
    return PS(a)+b;
}
Bài liên quan
0