没有构造函数 "AcademicStaff::AcademicStaff" 的实例与参数列表匹配

no instance of constructor "AcademicStaff::AcademicStaff" matches the argument list

我声明了

AcademicStaff(int, char *, char *, int , char *, char *,int, char *,char *) 

用于初始化的构造函数。

当我调用 main 中的函数时出现错误

 "  2   IntelliSense: no instance of constructor "AcademicStaff::AcademicStaff" matches the argument list
            argument types are: (int, char, char, int, char, char, int, char, char)".

调用函数:

AcademicStaff headOdDepartment(staffID, *firstName, *lastName, telNo, *address, *email, annualSalary, *title, *status);
myDepartment.setheadOfDepartment(headOdDepartment);

您需要使用 AcademicStaff headOdDepartment(staffID, firstName, lastName, telNo, address, email, annualSalary, title, status); 调用该函数 如果您发送 *charArray.

,您将发送第一个元素

您的构造函数接受指向字符串的指针。见下文

AcademicStaff(int, char *, char *, int , char *, char *,int, char *,char *) 

但是当您调用构造函数时,您正在使用 * 例如 *firstName 取消引用指针。参见

AcademicStaff headOdDepartment(staffID, *firstName, *lastName, telNo, *address, *email, annualSalary, *title, *status);

删除取消引用并使用以下代码

AcademicStaff headOdDepartment(staffID, firstName, lastName, telNo, address, email, annualSalary, title, status);