Любой компилятор, который сделал то, что вы хотите, больше не был бы соответствующим компилятором C ++. Семантика целочисленного деления хорошо определена (по крайней мере, для положительных чисел), и вы предлагаете изменить это.
Это также было бы опасно, так как в конечном итоге оно применялось бы ко всему, и в какой-то момент вы могли бы иметь код, основанный на стандартной целочисленной арифметике, которая молча была бы недействительной. (В конце концов, если бы у вас были тесты, которые улавливали бы это, у вас, вероятно, были бы тесты, которые улавливали бы нежелательную целочисленную арифметику.)
Итак, единственный совет, который я получил, - это писать модульные тесты, проводить обзоры кода и стараться избегать магических чисел (вместо этого определяя их как const float
).