Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: jmb on July 28, 2015, 09:34:58 pm

Title: Why the brackets in case in defaultcode?
Post by: jmb on July 28, 2015, 09:34:58 pm
Hi

I wonder, why the switch in the "win32  GUI projct"-Template looks like this:

Code
   switch(uMsg)
    {
    case WM_INITDIALOG:
    {
         // Code
    }
    return TRUE;
    }
    return FALSE;

And so this indentation is a bit confusing.

It should rather look like this:

Code

   switch(uMsg)
    {
          case WM_INITDIALOG:
              // Code
             return TRUE;
    }

    return FALSE;



Is there a reason for that format ?



Title: Re: Why the brackets in case in defaultcode?
Post by: oBFusCATed on July 28, 2015, 10:38:34 pm
It is a template, not a mandatory thing.
You can change it however you like.
Title: Re: Why the brackets in case in defaultcode?
Post by: jmb on July 29, 2015, 06:34:03 pm
Thx for answering. I just saw such "syntax" the first time and was
a bit astounded.

Title: Re: Why the brackets in case in defaultcode?
Post by: BlueHazzard on July 29, 2015, 07:33:34 pm
normally you use the brackets in the case for scope separation...
So you can use variable i in case 0 and case 1...
see the example:

Code
switch(cnt)
{
   case 1:
   {
        int tmp = 22;
   }
   break;
   case 2:
   {
        int tmp = 33;
   }
   break;
}

without brackets you would get the redefinition error...

greetings
Title: Re: Why the brackets in case in defaultcode?
Post by: jmb on July 29, 2015, 07:51:06 pm
Thank you, for opening my eyes. Usually I don't declare variables in case-segments, so I didn't
had this idea and was blind  ;D