Есть вектор:
#include <vector>
using TData = vector<BYTE>;
Необходимо его заполнить из файла:
#include <fstream>
//InPut DATA
ifstream InputFileData;
InputFileData.open(src_file_name, ios_base::binary);
TData DataBuf;
//HERE copies all data into buffer
InputFileData.close();
Есть вариант решения:
#include <iterator>
InputFileData((std::istreambuf_iterator<BYTE>(InputFileData)), (std::istreambuf_iterator<BYTE>()));
Но эта вся красота не работает, две ошибки:
1. Вызов объекта типа класса без соответствующей функции operator() или функции преобразования указателя в функцию. (Подчёркивает InputFileData)
2. Отсутствуют экземпляры конструктора, соответствующие списку аргументов. (Подчёркивает первый итератор)
P.S.
Вижу что не правильно написал итераторы, но не знаю как исправить, может у кого есть идеи? Нужно ли менять файловый поток с
ofstream
, на
istream
?