tipo de retorno da solução alternativa dlsym ()

opágina de manual dodlsym() listas

   *(void **) (&cosine) = dlsym(handle, "cos");

como uma solução alternativa para converter o valor de retorno dedlsym().

Qual o significado de*(void **) (&cosine) aqui? Compreendocosine é um ponteiro de função definido anteriormente, mas não sei por que um e comercial& é necessário antes do nome (um erro sem&) Além disso, não entendo por que o ponteiro devoid * (void **) é novamente usado com*.

questionAnswers(1)

yourAnswerToTheQuestion