C++关于器皿vector

C++关于容器vector
假设有一个类Class A           然后创建了一个容器vector<A>S          我在程序中创建了若干个A的对象并存放在S中,然后程序运行结束时存在了二进制文件中,再次运行程序的时候,我用了这样的方法来读取数据:
             A   T;
       fstream  f(filename,ios::in|ios::binary)
          while(f.read((char*)&T,sizeof(A)))
                S.push_back(T)
为什么程序每次运行到这里就终止了呢??(没有弹出错误信息)
------解决方案--------------------
存储非字符串的对象最好先进行序列化在进行读写,