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;
}
Bài liên quan
Lỗi này có ghi kèm theo tên hàm mà
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)
Vì
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.à trời ơi, thanks bác em làm đc rồi