我想创建一个招聘(创建一个新的类对象)新员工的功能。我决定使用默认构造函数(如果不是很好的决定请纠正我)。我收到了Employee::Hire(employees);
#include <iostream>
#include <string>
#include <vector>
class Employee
{
private:
std::string name;
public:
Employee::Employee()
{
std::cout << "test" << std::endl;
}
void Employ(std::vector<Employee> &v)
{
v.push_back(Employee());
}
};
int main()
{
std::vector<Employee> employees;
Employee::Employ(employees);
system("pause");
}
如何解决?
答案 0 :(得分:2)
此功能:
void Employ(std::vector<Employee> &v)
{
v.push_back(Employee());
}
应该移出Employee
的类定义。成员函数在类的实例上运行,但是您打算在没有任何实例的情况下调用它。
或者可以将函数设为static
,但是恕我直言,首选的样式是使用非成员。