01/10/2018, 16:33

Hỏi về lỗi LNK2019

Mấy bác cho em hỏi code em viết không thấy nó báo lỗi mà khi chạy nó bị lỗi LNK 2019 là sao ạ?

#include <iostream>
using namespace std;
//member function
class PhanSo {
private:
	int Tu, Mau;
public:
	PhanSo();
	PhanSo(int a, int b)
	{
		this->Tu = a;
		this->Mau = b;
	}
	void Xuat()
	{
		cout << Tu << "/" << Mau;
	}
	void operator-();
	PhanSo operator+(PhanSo);
};
PhanSo PhanSo::operator+(PhanSo ps)
{
	PhanSo t;
	t.Tu = Tu * ps.Mau + ps.Tu * Mau;
	t.Mau = Mau * ps.Mau;
	return t;
}
void PhanSo::operator-()
{
	Tu = -Tu;
	if (Mau > 0) Mau = Mau;
	else Mau *= -1;
}
int main()
{
	PhanSo A(1, 2), B(2,4);
	PhanSo C;
	//-A;
	C = A + B;
	C.Xuat();
	system("pause");
	return 0;
}
rogp10 viết 18:44 ngày 01/10/2018

Lỗi này có ghi kèm theo tên hàm mà

Gấu Lớn viết 18:43 ngày 01/10/2018

Nó ghi như này nè bác
Error LNK2019 unresolved external symbol “public: __thiscall PhanSo::PhanSo(void)” (??0PhanSo@@QAE@XZ) referenced in function “public: class PhanSo __thiscall PhanSo::operator+(class PhanSo)” (??HPhanSo@@QAE?AV0@V0@@Z)

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

PhanSo(); chỉ là signature thôi.

Như thế này mới là hàm: PhanSo() {}, thân hàm trong ngoặc nhọn.

Gấu Lớn viết 18:48 ngày 01/10/2018

à trời ơi, thanks bác em làm đc rồi

Bài liên quan
0