brick = (OBJECT*)realloc(brick, sizeof(*brick) * brickLength);
Вот этот код вызывает ошибку. Вы выделяете стурктуру OBJECT через realloc. Но она не POD (plain old data) - там поле url - объект std::string. А объекты нельзя вот так выделять. Надо чтобы обязательно конструктор отработал. Вообще, конечно, есть способ извратиться и вызвать конструктор руками, но это костыль.
Вы тут намешали вещи из C++ (объекты) и вещи из C (malloc) - и это все вместе не работает.
Правильное решение будет создавть объект через new:
brick = new Object[brickLength];
Не забудьте только в конце отчистить это все через
delete[]
.
А еще лучше, используйте
std::vector<Object>
.