C++用istream_iterator以二进制方式读取文件,来构造vector

std::ifstream inFile(pRawFileName, std::ios::binary);
std::istream_iterator<unsigned char> it(inFile), Eof;
std::vector<unsigned char> inData(it, Eof);

我在C++primer第五版上看到istream_iterator的用法,于是想用它代替read读取二进制文件,但是失败了,请问错在哪里呢?

istream_iterator读取二进制文件的问题,请熟悉STL的DX们帮忙