Я пытался определить wstring в заявлении дела. И пытаясь получить доступ к переменной из оператора case, возвращаемся из области видимости.
Поэтому я сейчас пытаюсь объявить wstring вне switch () и определить его внутри 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
сделать это. Я открыт для использования других средств для выполнения этой задачи.
Переход к регистру не позволяет пропускать вызовы конструктора / деструктора. Создание wstring вне и перед переключателем должно быть в порядке. Вы делаете это, написав:
std::wstring wstr;
затем переключатель и в каждом соответствующем случае присваивание wstr. В качестве альтернативы, в каждом случае открывают новую область видимости блока, в которой разрешено создавать новый класс. В коде это будет выглядеть так:
case 0:
{
std::wstring w;
// do whatever you want to do with string w...
// ..
// then let it 'hit' it's destructor
}
break;