Сегодня я отслеживал исключение с плавающей запятой в коде, который я только что написал. Поиск занял некоторое время, потому что на самом деле это было вызвано взятием нулевого целочисленного мода. Очевидно, что выполнение чего-либо с нулевым модемом не будет определено, но мне показалось странным, что ошибка настолько вводит в заблуждение. Что такое в операторе C++ по модулю, который будет использовать плавающую запятую для двух целых чисел? (Я использую gcc 4.3.2)
Вот простая программа, демонстрирующая ошибку.
int main()
{
int a=3,b=0;
int c=a%b;
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/108 ... nal-sigfpe