Today I was tracking down a floating point exception in some code I had just written. It took a little while to find because it was actually caused by taking an integer mod zero. Obviously doing anything mod zero is not going to be defined but I thought it was strange that the error was so misleading. What is it within the C++ modulo operator that would use floating point for two integers? (I'm using gcc 4.3.2)
Here's a simple program to demonstrate the error.
int main()
{
int a=3,b=0;
int c=a%b;
return 0;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…