Я вообще не понимаю что происходит. Вы пытаетесь в вашем варианте "решения" вызвать функтор? Или конструктор у уже сконструированного объекта?
Первый вариант не поддерживает ifstream. Второй в языке вообще невозможен.
Вам нужно из открытого файла скопировать данные в буфер, так?
Ну тогда бы почему не воспользоваться функцией с именем
copy
?
std::copy(std::istreambuf_iterator<BYTE>(InputFileData), std::std::istreambuf_iterator<BYTE>(), std::back_inserter(DataBuf));
Или вообще поступить ещё проще и заполнить вектор при создании:
TData DataBuf(std::istreambuf_iterator<BYTE>(InputFileData), std::std::istreambuf_iterator<BYTE>());