Ошибка в деревьях сегментов Вопрос: найдите максимальную сумму в массиве: неверное преобразование из int в int * - PullRequest
0 голосов
/ 24 марта 2020

Я получаю сообщение об ошибке в строке 43, т.е. в последней строке функции (оператор return). ошибка: недопустимое преобразование из 'int' в 'int *' [-fpermissive]

ошибка: слишком мало аргументов для функции 'int getSumUtil (int *, int, int, int, int, int) В основном эта функция является утилитой для расчета максимальной суммы элементов в массиве, содержащем целые числа от l до r, где l и r - диапазон запросов, заданный пользователем в каждом запросе

int getSumUtil(int *st, int ss, int se, int qs, int qe, int si) 
{ 
    // If segment of this node is a part of given range, then return 
    // the sum of the segment 
    if (qs <= ss && qe >= se) 
        return st[si]; 

    // If segment of this node is outside the given range 
    if (se < qs || ss > qe) 
        return 0; 

    // If a part of this segment overlaps with the given range 
    int mid = getMid(ss, se); 
    return max(
    getSumUtil((st, ss, mid, qs, qe, 2*si+1) + getSumUtil(st, mid+1, se, qs, qe, 2*si+2)) ,
    getSumUtil(st, ss, mid, qs, qe, 2*si+1) , 
    getSumUtil(st, mid+1, se, qs, qe, 2*si+2)
    ); 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...