従業員のデータベースを保存し、外部ファイルに保存するプログラムを作成しようとしています。.dat ファイルからベクトルを読み取ってプログラムにロードする関数はファイルを読み取りますが、ロードされたベクトルを表示または変更しようとすると、プログラムがクラッシュします。
//displays vector
void Database:: displayAll() const
{
for(std::vector<Employee>::const_iterator iter = mEmployees.begin(); iter != mEmployees.end(); ++iter)
{
iter -> display();
}
}
std::vector<Employee> mEmployees;
void Database::readData()
{
ifstream empIn("employee.dat" , ios::binary);
empIn.seekg(0,ifstream::end);
long size2 = empIn.tellg();
empIn.seekg(0,ifstream::beg);
mEmployees.resize(size2);
empIn.read((char*)&mEmployees, size2);
empIn.close();
cout << mEmployees.size() << endl; //this tests whether or not it reads.
}