Код, который работает для того, что вы, вероятно, хотите сделать:
teacher.h
#include <vector>
using std::vector;
class Course;
class Teacher
{
vector<Course*> courses;
...
};
course.h
#include <vector>
using std::vector;
class Teacher;
class Course
{
vector<Teachers*> teachers;
...
};
Обратите внимание, что в исходных файлах, вы захотите включить оба заголовочных файла, так как сейчас Teacher
не знает функциональности Course
и наоборот.
Я сделал это с помощью необработанных указателей, чтобы вам было легче понять,но в какой-то момент вам следует переключиться на какие-то умные указатели (в данном случае, вероятно, weak_ptr
).
Кстати, обычно пишутся имена классов с большими первыми буквами.