4

ここで何が間違っているのかわかりません。メイン関数の完全な作成を示すつもりはありません。問題になるとは思わないからです。

私の問題は、私が作成したこのクラスに関係しています:

class employee
{
    //create private variables for divider
    string firstName;
    string lastName;
    char gender;
    int dependants;
    double annualSalary;
    static int numEmployees;

public:

    Benefit1 benefit;

    employee()
    {
        //create default values for varaibles
        firstName = "not given";
        lastName = "not given";
        gender = 'U';
        dependants = 0;
        annualSalary = 2000;
    }

    employee(string first, string last, char gen, int dep, double salary, Benefit1 ben)
    {
        //allow input
        firstName = first;
        lastName = last;
        gender = gen;
        dependants = dep;
        annualSalary = salary;
        benefit = ben;
    }
}

(はい、Benefit1 はクラスで適切に呼び出されました。) 私の問題は、employee2 としてインスタンス化しようとしたときに発生します。

employee employee2("Mary", "Noia", 'F', "5", 24000.0, benefit1);

何らかの理由で、私のプログラムでは、「Mary」という単語がある最初のインスタンスに何も入れることができません。ご覧のとおり、最初のインスタンスは最初に文字列であると想定されているのに、なぜ何も使用できないのでしょうか?

4

2 に答える 2

0

渡す4番目のパラメーターはint:-である必要があります

employee employee2("Mary", "Noia", 'F', 5, 24000.0, benefit1);
于 2012-11-20T19:55:22.560 に答える