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:


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


And so this indentation is a bit confusing.

It should rather look like this:



   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:


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