shi*_*zou 0 c++ syntax reference switch-statement c++11
我想通过引用返回到交换机内部的变量来返回,例如:
sometype & getbar();
void foo() {
switch ( {statement} ) {
case {statement}:
sometype & handle = getbar();
...
Run Code Online (Sandbox Code Playgroud)
但我收到编译器错误:
'case'标签跳过'identifier'的初始化
'default'标签跳过'identifier'的初始化
它似乎不可能这样做:
void foo() {
sometype & handle;
switch ( {statement} ) {
case {statement}:
handle = getbar();
...
Run Code Online (Sandbox Code Playgroud)
因为引用变量需要初始化.
有没有办法保持switch语句?
就在这里.将case语句的主体括在括号中,如下所示:
case {statement}:
{
sometype & handle = getbar();
...
}
Run Code Online (Sandbox Code Playgroud)