на вложенную функцию "this" нельзя ссылаться внутри тела лямбды, если оно не находится в списке записей

При попытке добавить строку: PlaySnd(eInvDetachAddon); //Вот тут ошибка происходит эта ошибка

else if (pWnd == m_pUIPropertiesBox && msg == PROPERTY_CLICKED)
    {
        if (m_pUIPropertiesBox->GetClickedItem())
        {
            switch (m_pUIPropertiesBox->GetClickedItem()->GetTAG())
            {
            case INVENTORY_EAT_ACTION: //съесть объект
                EatItem();
                break;
            case INVENTORY_UNLOAD_MAGAZINE: {
                auto ProcessUnload = [](void* pWpn) {
                    auto WpnMagaz = static_cast<CWeaponMagazined*>(pWpn);
                    WpnMagaz->UnloadMagazine();
                    PlaySnd(eInvDetachAddon); //Вот тут ошибка
                    if (auto WpnMagazWgl = smart_cast<CWeaponMagazinedWGrenade*>(WpnMagaz))
                    {
                        if (WpnMagazWgl->IsGrenadeLauncherAttached())
                        {
                            WpnMagazWgl->PerformSwitchGL();
                            WpnMagazWgl->UnloadMagazine();
                            WpnMagazWgl->PerformSwitchGL();
                        }
                    }
                };

Вот функция PlaySnd

void CUICarBodyWnd::PlaySnd(eInventorySndAction a)
{
    if (sounds[a]._handle())
        sounds[a].play(NULL, sm_2D);
}

Помогите пожалуйста


Ответы (0 шт):