私の大学のプロジェクトのためにプログラムを書こうとしていますが、プログラムは先に来ています。スケジューリング私はこの機能について多くのことを考えましたが、それを動作させるために、私は常にセグメンテーションフォールトを取得:11、私はまた、temp.at(J)を使用しようとしたが、それは私にセグメンテーションフォールト与えた:6を、そしてそれは次のようになりので、私はベクトルを最小化しようとしました関数外のベクトルを宣言してインバウンドすると、の代わりにtemp.size()の代わりにの値が使用されますが、それでも機能しませんでした。セグメンテーションフォールト:ベクトルを使用すると11 C++
void FCFS(Process ProcessDetails[], int Processes)
{
vector<int> temp;
vector<int> temp1;
int first = 0; //first value to compare with.
for(int j = 0; j < Processes; j++){ // to make sure that it passes through all elements.
for(int i = 0; i < Processes; i++){ // pass each PID and Burst time to vector temp and temp1.
if(ProcessDetails[i].ArrivalTime == first){
temp.operator[](j) = ProcessDetails[i].PID;
temp1.operator[](j) = ProcessDetails[i].BurstTime;
}
}
first++;// increase first value to declare the round is finished and start a new one.
}
for(int i = 0; i < Processes; i++){ // pass the sorted vector values back to the arrays.
ProcessDetails[i].PID = temp.operator[](i);
ProcessDetails[i].BurstTime = temp1.operator[](i);
}
}
プログラムはこの機能に到達するまでうまく動作しますので、助けてください。
'temp.operator [](j)'はちょうど 'temp [j]' ... – milleniumbug
@milleniumbug私はちょうどそれを使用することを恐れていたことを明確にしてくれてありがとう。 –