jestem coraz niezdefiniowanej odniesienie do `vtable dla studenta” podczas kompilacji następujący plik nagłówka:nieokreślone odniesienie do „vtable dla klasy” konstruktora
student.h
class student
{
private:
string names;
string address;
string type;
protected:
float marks;
int credits;
public:
student();
student(string n,string a,string t,float m);
~student();
string getNames();
string getAddress();
string getType();
float getMarks();
virtual void calculateCredits();
int getCredits();
};
student::student(){}
student::student(string n, string a,string t,float m)
{
names = n;
address = a;
marks = m;
}
student::~student(){}
nie mogę znaleźć co jest w tym złego.
Dziękuję, to działało .. faktycznie jest to tylko część pliku nagłówka, mam poniżej której inna klasa wykorzystuje calculateCredits function() myślałem, nie było potrzeby, aby zdefiniować w klasie studenta. – Tarounen
W większości ABI, vtable są emitowane w kompilatorze definiującym pierwszą wirtualną funkcję nie zdefiniowaną w definicji klasy. Jeśli tego nie ma, będzie on emitowany we wszystkich. Wiele takich obiektów zostanie złożonych. – Deduplicator
Otrzymuję ten sam błąd pomimo zdefiniowania funkcji wirtualnej, jak pokazano powyżej. Czy może być coś jeszcze, czego mi brakuje? – Naveen