将二进制文件读入vector<bool>是出错

#include <iostream>
#include<fstream>
#include<vector>
using namespace std;
int main()
{
    vector<bool> obj;
    string fpath1, fpath2;
    long size=0;
    cout << "请输入加密文件路径------------------------\n";
    cin >> fpath1;
    //DE_Read(fpath1);
    ifstream infile(fpath1, ios::binary);
    if (!infile)
    {
        cerr << "open error!" << endl;
        abort();
    }
    while (infile.read((char*)& obj[size], sizeof(bool))) { //一直读到文件结束

        cout << obj[size] << endl;
        size++;
    }
    infile.close();
return 0;
}

img