原型...在类...(错误)中不匹配任何。 g ++ [英] Prototype... does not match any in Class... (error). g++

查看:1877
本文介绍了原型...在类...(错误)中不匹配任何。 g ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是我的代码。



Employee.h

  #ifndef Employee_h 
#define Employee_h

#include< string>

using namespace std;

class Employee
{
protected:
int employeeNumber;
string firstName;
string lastName;
string address;
string telephone;
double salary;
int generateEmployeeNumber();

public:
Employee();
Employee(string fin,string lan,string add,string tel,double sal);
void setEmployeeName(string fin,string lan); // setter set开始
void setEmployeeAddress(string add);
void setEmployeeTelephone(string tel);
void setEmployeeSalary(double sal);
string getEmployeeFirstName(); // getter getter
string getEmployeeLastName();
string getEmployeeAddress();
string getEmployeeTelephone();
double getEmployeeSalary();
int show();
};
#endif

Employee.cpp b
$ b

  #includeEmployee.h
#include< iostream>
#include< string>

using namespace std;

//开始构造函数
Employee :: Employee()
{

}

Employee :: Employee字符串字符串,字符串字符串,字符串添加,字符串电话,双sal)
{
firstName = fin;
lastName = lan;
address = add;
telephone = tel;
salary = sal;
}
//结构的构造函数

//开始setters
void Employee :: setEmployeeName(string fin,string lan)
{
cout<<请输入员工的名字:;
cin>> fin;
cout<<请输入员工的姓氏:;
cin>> lan

firstName = fin;
lastName = lan;
}

void Employee :: setEmployeeAddress(string add)
{
cout<<请输入员工地址:;
cin>> add;
address = add;
}

void Employee :: setEmployeeTelephone(string tel)
{
cout<<请输入员工的电话号码:;
cin>> tel
telephone = tel;
}

void Employee :: setEmployeeSalary(double sal)
{
cout<<请输入员工的月薪:R;
cin>> sal
salary = sal;
}
//结束setters

//开始getters
string Employee :: getEmployeeFirstName()
{
return firstName;
}

string Employee :: getEmployeeLastName()
{
return lastName;
}

string Employee :: getEmployeeAddress()
{
返回地址;
}

string Employee :: getEmployeeTelephone()
{
return telephone;
}

double Employee :: getEmployeeSalary()
{
return salary;
}
// getters的结束

错误:

  Employee.cpp:31:6:error:prototype for'void Employee :: setEmployeeName :: string,std :: string)'在类'Employee'中不匹配
Employee.h:22:16:error:candidate是:void Employee :: setEmployeeName()
Employee.cpp :42:6:错误:'void Employee :: setEmployeeAddress(std :: string)'的原型与类'Employee'中的任何不匹配
Employee.h:23:7:error:candidate is:int Employee :: setEmployeeAddress(std :: string)
Employee.cpp:49:6:error:'void Employee :: setEmployeeTelephone(std :: string)'的原型与类'Employee'中的任何一个都不匹配
Employee.h:24:7:错误:候选人是:int Employee :: setEmployeeTelephone(std :: string)
Employee.cpp:56:6:error:prototype for'void Employee :: setEmployeeSalary(double) '不匹配任何类'Employee'
Employee.h:25:10:错误:候选人是:double Employee :: setEmployeeSalary(std :: string)

任何人都可以发现什么问题?



谢谢。



Ok我发现了问题。
在同一目录中有一些文件名称为Employee.h.gwh,我不知道它来自哪里,我delted和现在工作。

解决方案

您发布的来源是正确的,因此您必须包括另一个Employee.h ...您确定要编辑正确的文件吗?


I am getting a very annoying error with my g++ compiler in Ubuntu.

This is my Code.

Employee.h

#ifndef Employee_h
#define Employee_h

#include<string>

using namespace std;

class Employee
{
    protected:
    int employeeNumber;
    string firstName;
    string lastName;
    string address;
    string telephone;
    double salary;
    int generateEmployeeNumber();

    public:
    Employee();
    Employee(string fin, string lan, string add, string tel, double sal);
    void setEmployeeName(string fin, string lan);   //start of setters
    void setEmployeeAddress(string add);
    void setEmployeeTelephone(string tel);
    void setEmployeeSalary(double sal);
    string getEmployeeFirstName();          //start of getters
    string getEmployeeLastName();   
    string getEmployeeAddress();
    string getEmployeeTelephone();
    double getEmployeeSalary();
    int show();
};
#endif

Employee.cpp

#include"Employee.h"
#include<iostream>
#include<string>

using namespace std;

//start of constructors
Employee::Employee()
{

}

Employee::Employee(string fin, string lan, string add, string tel, double sal)
{
    firstName = fin;
    lastName = lan;
    address = add;
    telephone = tel;
    salary = sal;
}
//end of constructors

//start of setters
void Employee::setEmployeeName(string fin, string lan)
{
    cout<<"Please enter the Employee's first name: ";
    cin>>fin;
    cout<<"Please enter the Employee's last name: ";
    cin>>lan;

    firstName = fin;
    lastName = lan;
}

void Employee::setEmployeeAddress(string add)
{
    cout<<"Please enter the Employee's address: ";
    cin>>add;
    address = add;
}

void Employee::setEmployeeTelephone(string tel)
{
    cout<<"Please enter the Employee's telephone number: ";
    cin>>tel;
    telephone = tel;
}

void Employee::setEmployeeSalary(double sal)
{
    cout<<"Please enter the Employee's monthly salary: R";
    cin>>sal;
    salary = sal;
}
//end of setters

//start of getters
string Employee::getEmployeeFirstName()
{
    return firstName;
}

string Employee::getEmployeeLastName()
{
    return lastName;
}

string Employee::getEmployeeAddress()
{
    return address;
}

string Employee::getEmployeeTelephone()
{
    return telephone;
}

double Employee::getEmployeeSalary()
{
    return salary;
}
//end of getters

And this is my ERROR:

Employee.cpp:31:6: error: prototype for ‘void Employee::setEmployeeName(std::string, std::string)’ does not match any in class ‘Employee’
Employee.h:22:16: error: candidate is: void Employee::setEmployeeName()
Employee.cpp:42:6: error: prototype for ‘void Employee::setEmployeeAddress(std::string)’ does not match any in class ‘Employee’
Employee.h:23:7: error: candidate is: int Employee::setEmployeeAddress(std::string)
Employee.cpp:49:6: error: prototype for ‘void Employee::setEmployeeTelephone(std::string)’ does not match any in class ‘Employee’
Employee.h:24:7: error: candidate is: int Employee::setEmployeeTelephone(std::string)
Employee.cpp:56:6: error: prototype for ‘void Employee::setEmployeeSalary(double)’ does not match any in class ‘Employee’
Employee.h:25:10: error: candidate is: double Employee::setEmployeeSalary(std::string)

Can anyone spot what's wrong?

Thank you.

Ok I found the problem. There was some sort of file name Employee.h.gwh in the same directory that I have no idea where that came from, I delted it and works now. Thanks for the by the way.

解决方案

The sources you posted are correct, so you must be including another "Employee.h"... are you sure you are editing the right files?

这篇关于原型...在类...(错误)中不匹配任何。 g ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆