Передача адреса массива в структуру c++

Проблема заключается в том, что компилятор выдаёт ошибку когда я пытаюсь передать &row в char*. Не буду никому пудрить мозги, просто покажу код:

//Передача адреса массива в структуру
static http_response buff;
...
static unsigned char row[] = 
#include "test.png.hpp"
buff.row = &row;

В test.png.hpp находятся байты картинки т.к. я не хочу засорять главный файл 4886 строками одних только байтов, я вынес их в отдельный файл.

//Сама структура
typedef struct _HTTP_RESPONSE_
{
    int action;
    std::string not_row;
    size_t row_size;
    unsigned char *row;
} http_response;

на typedef не ругайтесь, надо было создать функцию типа http_response*. Вот что пишет сам компилятор:

src/handler.cpp: In member function ‘http_response* Handler::Load()’:
src/handler.cpp:35:20: error: cannot convert ‘unsigned char (*)[58587]’ to ‘unsigned char*’ in assignment
   35 |         buff.row = &row;
      |                    ^~~~
      |                    |
      |                    unsigned char (*)[58587]
make: *** [Makefile:16: handler.cpp.o] Error 1

Ответы (1 шт):

Автор решения: Арсений Лашкевич

Как и говорил EOF. Достаточно было просто написать buff.row = row или же buff.row = &row[0]

→ Ссылка