параметр/аргумент
параметр/аргумент метода
std::byte
. И от new wchar_t[len]
стоит тоже отказаться в пользу std::vector<std::byte>
.ZeroMemory(data, len)
делает фиктивную работу - только время тратит, т.к. следом буфер перезаписывается из файла.ZeroMemory
зануляет только половину буфера, т.к. параметр длины задается в байтах, а буфер у тебя из двухбайтовых.std::vector<std::byte> ReadImage( const std::wstring_view file_path )
является более осмысленной. Слово Load - это загрузка, в отношении файлов применяется к загрузке готового формата данных. Read - простое чтение данных без разбора формата. Собственно формат у тебя не разбирается, поэтому и не Load. Результатом является блок байт с известной длиной, т.е. просто будет возвращено содержимое файла. file_path
однозначно говорит, откуда будет прочитан результат, константность говорит о том, что file_path
в функции используется как есть и, стало быть, функция является чистой.char
, то это строка в ASCII. Если тип - wchar_t
, то это строка в UTF-16/UCS2. Если буфер должен содержать сырые произвольные данные, то его тип будет std::byte
.std::vector
, или - std::array
, или - std::span
. Иначе это будет бессмысленный блок памяти, в который требуется внести смысл - т.е. переписать на осмысленный код.как отправить post запросом картинку или любой другой файл через wininet
wchar_t
? n
надо настолько иначе инициализировать, что переписать надо вообще весь этот код.
cycle
не имеет предварительного объявления и определена послеdfs
.Сделай предварительное объявление
cycle
перед объявлениемdfs
или вообще перенеси определениеcycle
передdfs
.Поиск функции при трансляции делается только среди уже объявленных имен. А у тебя сейчас
cycle
не объявлена в момент трансляцииdfs
.