class Admin {
public:
string contact;
bool add_course(Running_Courses &rc_list);
bool delete_course(Running_Courses &rc_list);
bool add_student(Students_list &s_list);
bool delete_student(Students_list &s_list,Running_Courses &rc_list);
bool add_student_to_course(Course &c_obj, Student s_obj);
bool delete_student_from_course(Course &c_obj, Student s_obj);
};
This is class Admin definition in Admin.h It's methods implementations in Admin.cpp are(I'll post only for one function)-
bool Admin::add_course(Running_Courses &rc_list) {
string code;
cout<<"Enter course code: \n";
cin>>code;
Course temp(code);
rc_list.course_list.push_back(temp);
return true;
}
main.cpp contains
#include "Admin.h"
int main() {
Admin a1;
Running_Courses r;
a1.add_course(r);
}
When I compile main.cpp using the command
clang++ -std=c++20 main.cpp
I get the error
Undefined symbols for architecture arm64:
"Admin::add_course(Running_Courses&)", referenced from:
_main in main-c64d1c.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I don't understand what's wrong. (I hope the code posted is sufficient)