News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

Why the brackets in case in defaultcode?

Started by jmb, July 28, 2015, 09:34:58 PM

Previous topic - Next topic

jmb

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 ?



Linux Mint, Cinnamon 19.3 , Code::Blocks 20.03

oBFusCATed

It is a template, not a mandatory thing.
You can change it however you like.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

jmb

Thx for answering. I just saw such "syntax" the first time and was
a bit astounded.

Linux Mint, Cinnamon 19.3 , Code::Blocks 20.03

BlueHazzard

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

jmb

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


Linux Mint, Cinnamon 19.3 , Code::Blocks 20.03