digitalmars.D.learn - switch statement exiting a void function
- Jonathan (21/21) Sep 16 2014 Here's the setup, I have a function
- bearophile (10/13) Sep 16 2014 Try:
- Jonathan (1/10) Sep 16 2014 My hero.
Here's the setup, I have a function void main { ... } The main method parses input (via std.getopt) and calls one of three void-return-type functions. The program's three options correspond to significantly different initialization options. In the code we then have: enum RunOpt {opt1, opt2, opt3}; And the body of the function wants to do: RunOpt option; //parsing that results in, among other things option being initialized switch(option){ case RunOpt.opt1: fun1(...); case RunOpt.opt2: fun2(...); default: fun3(...); } When compiling, the error I get is Error: switch case fallthrough - use 'goto case;' if intended This is not intended. Note that calling "return;" after "funi(...)" makes everything work. However, it feels like I'm doing something wrong here?
Sep 16 2014
Jonathan:This is not intended. Note that calling "return;" after "funi(...)" makes everything work. However, it feels like I'm doing something wrong here?Try: enum RunOpt { opt1, opt2, opt3 } // No semicolon here final switch (option) with (RunOpt) { case opt1: fun1(...); break; case opt2: fun2(...); break; case opt3: fun3(...); break; } Bye, bearophile
Sep 16 2014
Try: enum RunOpt { opt1, opt2, opt3 } // No semicolon here final switch (option) with (RunOpt) { case opt1: fun1(...); break; case opt2: fun2(...); break; case opt3: fun3(...); break; } Bye, bearophileMy hero.
Sep 16 2014