¿Cómo me refiero a std :: sin (const valarray <double> &)?

Estoy teniendo problemas con algunosvalarray código de puntero de función:

double (*fp)(double) = sin;
valarray<double> (*fp)(const valarray<double> &) = sin;

El primero compila, el segundo da:

error: no matches converting function 'sin' to type 'class std::valarray<double> (*)(const class std::valarray<double>&)'

Respuestas a la pregunta(3)

Su respuesta a la pregunta