2人のワーカーの名前を出力するコードを作成しましたが、代わりにガベージを出力します。
cout << "highest salary: " << highestSalary.getID() << " " << highestSalary.getName() << endl;
cout << "hardest worker: " << mostHours.getID() << " " << mostHours.getName();
関数getName()は、ワーカークラスで次のように定義されています。
char* Worker::getName()
{
char temp[20];
int i;
strcpy(temp, name);
return temp;
}
デバッガーでこれを実行して、highestSalary.getName()の値をver char * temp内に入れてみました。値は予想どおりで、「bob」としましょう。ただし、coutの後の値は「」でcoutです。印刷されたゴミ。