Encontrar NaN en un arreglo

Encuentra el único valor NaN en un vector de números y devuelve su índice. Devuelve -1 cuando el vector no contenga ningún NaN.

Ejemplos

findNaN(std::vector<double>{1, 2, std::numeric_limits<double>::quiet_NaN()}) // 2

findNaN(std::vector<double>{std::numeric_limits<double>::quiet_NaN(), 1, 2, 3, 4}) // 0

findNaN(std::vector<double>{0, 1, 2, 3, 4}) // -1

Notas

NaN aparece como máximo una vez.