テキストファイルからマップに情報を入力する関数を記述しようとしています。次のように私の主なコードが行く:私はテストファイルからのコードのこの部分を実行すると関数内のマップに格納する
void fileinput(string datafile, record map){
fstream file1(datafile);
if(!file1.good()){
//error code
}
//Pulls information from file
student* S1= new physics(name,ID); //creates a new pointer
//(*S1).printinfo(); //Can print info if required for de-bug
map[ID]=S1; //store to map
entries++; //counts entries read in
}
cout<<"Import complete. "<<entries<<" new students entered."<<endl;
}
、それはデータを読み込むとします:関数「FileInputクラスは」と定義されて
int main(){
typedef map<int,student*> record;
record allstudents;
fileinput("inputtest.txt",allstudents);
//rest of code....
}
(*S1).printinfo();
のコメントを外して読み込んだ生徒の数を正しく数えればいいと思います。しかし、私の主な機能に戻って今何が保存されているのですか?allstudents
そこには何も表示されません。
なぜこの問題が発生していますか?誰もこの問題を回避する方法を知っていますか?試して読みやすくするために多くのコードを削除しましたが、残りの部分を見る必要がある場合はいつでもこれを編集できます。
ありがとうございました。
私はそれが何か明らかになると思った!ありがとう – QuantumO