This line of code just passed compilation

   if( map.drawRange((int)(startX+0.5), (int)(startY+0.5), (int)(endX+0.5), (int)(endY+0.5)), !max);

Now what I want to point out is that the
First: drawRange declaration is this
   bool drawRange(int x0, int y0, int x1, int y1, bool max = false);

second that if above was not supposed to be there, its part of code that I thought I erased, after much debugging, I find that if and was amazed that it compiled through. Maybe there is something new I can learn, this if is recieving two bools! what does that mean?
I don't understand what you mean.

It does not execute anything anyway you have a ; at the end of it.

this is what you have.


if(true, false);
//even with out the semicolon it would not execute this code in here
exactly what I'm asking, since when can an "if" take two bools? and what does that mean?
See and scroll down to comma operator.

In that if statement only the last condition is used so if(false, true) would evaluate as true.
hmmm I never knew that, I wonder how can I use it? seems redundant since I never really needed it, but I love writing non comprehendable code :)
I only use it in a case that never comes up:

delete p, p = nullptr;

I always use it in this case - just know that this case never comes up (since you should never be managing memory yourself).
┬┐but what advantages do you have over using a semicolon?
Automatic reformatting tools won't split it onto separate lines.
Topic archived. No new replies allowed.