私の現在のプロジェクトにいくつか問題があります。私にはジョブのクラスがあり、それはvector
の中に保存されています。私がpush_back
またはpop_back
ジョブを試してみると、私のプログラムはうまくいく(私は何度も何度も何度も、私は仕事を追加する回数だけ削除することができます)。 しかし、私が何かを表示しようとすると、vector
メッセージが表示されます。何も表示されません、vector
は空です、私はpush_back
いくつかの仕事をしました。表示しようとしたときにベクトルに値がありません
void Job::generirateActivities(vector<Job> job_list) {
Smt s1("Default1", 1, 2, 3);
Smt s2("Default2", 2, 3, 4);
Date d1(1, 1, 2001);
Date d2(2, 2, 2002);
Job j1(&s1, &d1);
Job j2(&s2, &d2);
job_list.push_back(a1);
job_list.push_back(a2);
}
と印刷のために私が使用しています:
void Job::printJobs(vector<Job> job_list) {
if (job_list.empty())
cout << "Nothing to display, vector is empty." << endl;
else {
for (unsigned int i = 0; i < job_list.size(); i++)
cout << i + 1 << ". " <<job_list[i].toString() << endl;
}
を間違っている可能性が何?助言がありますか?
ありがとうございました。あなたのコードで
'generirateActivities(vector job_list){' - あなたは*元のベクトルをコピーして元のコピーではなくコピーに追加します。参照: 'ベクトル&job_list'を使用してください。印刷するのと同じです(ただし、 'const'にしてください)。 –
BoBTFish
&project.exeが動作しなくなりました... – HC1122
@BoBTFishなぜ答えとして投稿しませんか? – CinCout