То была какая-то хитрая задумка использовать класс с перегруженными операторами во многих местах (там бы ещё += -=, ..., operator int () перегрузить - много писанины набирается). А float нельзя, видимо, по причние нерекомендования сравнивать их на равенство.