No se puede usar el módulo en dobles?

Tengo un progtwig en C ++ (comstackdo usando g ++). Estoy tratando de aplicar dos dobles como operandos a la función de módulo, pero me sale el siguiente error:

error: operandos inválidos de los tipos ‘double’ y ‘double’ a binary ‘operator%’

Aquí está el código:

int main() { double x = 6.3; double y = 2; double z = x % y; } 

El operador % es para enteros. Está buscando la función fmod() .

 #include  int main() { double x = 6.3; double y = 2.0; double z = std::fmod(x,y); } 

fmod(x, y) es la función que usa.

Use fmod() desde . Si no desea incluir el archivo de encabezado C (nota: U no puede ser float o double ):

 template constexpr T dmod (T x, U mod) { return !mod ? x : static_cast(x) % mod + x - static_cast(x); } //Usage: double z = dmod(14.3, 4); double z = dmod(14, 4); //This also works: double z = dmod(14, 4); double z = dmod(14, 0); double z = dmod(myFirstVariable, someOtherVariable);