J'ai une erreur de référence non définie de ma fonction principale, mais je ne trouve pas le problème. mes fichiers sont:erreur de référence undefined
//Student.h
#ifndef STUDENT_H
#define STUDENT_H
#include <vector>
#include <string>
class Student{
public:
Student(std::string &line);
...
virtual void evaluateValue(){}
virtual ~Student(){}
....
};
#endif
//HeStudent.h
#ifndef HESTUDENT_H
#define HESTUDENT_H
#include "Student.h"
class HeStudent : public Student{
public:
HeStudent(std::string line) : Student(line){
...
}
static int AgradesCount;
static double Aaverage;
virtual void evaluateValue();
virtual ~HeStudent(){}
};
#endif
pour chaque fichier .h il y a son fichier .cpp. J'ai aussi un fichier main.cpp qui contient le principal et dans le principal je crée: Student stud = new HeStudent (line); je ne sais pas s'il est nécessaire, mais j'inclus le Student.h et le HeStudent.h et je reçois une longue erreur et il a dit:
HeStudent::HeStudent(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)]+0x22): undefined reference to `Student::Student
quelqu'un peut me dire quel est le problème?
comme je l'ai dit, chaque fichier .h a son .cpp fichier avec la mise en œuvre –