Причина, по которой вы получаете неопределенное поведение, заключается в том, что индексный оператор []
имеет приоритет над оператором косвенности *
. Значение extrema
индексируется как массив указателей, что неверно, потому что там есть только один указатель.
Поскольку вы передаете указатель на указатель, вам нужно поместить звездочку внутрь круглые скобки:
if (quadrant == 1)
{
(*extrema)[0] = 0;
(*extrema)[1] = 90;
}
else if (quadrant == 2)
{
(*extrema)[0] = -90;
(*extrema)[1] = 0;
}