[c++] Why does modulus division (%) only work with integers?