在调用/连接 LPCWSTR 后定义 wstring

Defining wstring after calling / concatenating LPCWSTR

我尝试在 case 语句中定义 wstring。并试图访问超出范围的 case 语句 return 之外的变量。

所以我现在尝试在 switch() 之外声明一个 wstring 并在 switch() 中定义它。 但我不知道如何区分这些事件。

    wstring w1;

    switch (suit)
        {
        case 0:
            std::w1(stringOne);
            break;
        case 1:
            std::w1(stringTwo);
            break;
        case 2:
            std::w1(stringThr);
            break;
        case 3:
            std::w1(stringFou);
            break;
        }

最终,我尝试连接(...并收听...)三个 LPCWSTR,我正在使用 std::wstring 来做到这一点。我愿意使用其他方式来完成这项任务。

跳转到案例不允许跳过 constructor/destructor 调用。在开关之外和之前创建 wstring 应该没问题。你可以这样写:

std::wstring wstr;

然后切换,并在每个相关案例中分配给 wstr。或者,在每种情况下打开一个新的块作用域,在其中构造一个新的 class 是合法的。在代码中,它看起来像:

case 0:
{
   std::wstring w;
   // do whatever you want to do with string w...
   // ..
   // then let it 'hit' it's destructor 
}
break;