Вопрос Краш "необработанное исключение"

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Апр 2024
Сообщения
187
Реакции
7
Краш в коде
C++:
Expand Collapse Copy
template <typename T, std::size_t nIndex, class CBaseClass, typename... Args_t>
static CS_INLINE T CallVFunc(CBaseClass* thisptr, Args_t... argList)
{
    
    try
    {
        using VirtualFn_t = T(__thiscall*)(const void*, decltype(argList)...);
        return (*reinterpret_cast<VirtualFn_t* const*>(reinterpret_cast<std::uintptr_t>(thisptr)))[nIndex](thisptr, argList...);

    }
    catch (const std::exception& ex)
    {
        
    }

}

ошибка return (reinterpret_cast<VirtualFn_t const*>(reinterpret_cast<std::uintptr_t>(thisptr)))[nIndex](thisptr, argList...); -
Вызвано необработанное исключение: нарушение доступа для чтения.
thisptr было nullptr.
 
наверное потому что
thisptr
у тебя равен нулю
 
а ка кфикснауть то
Смотреть контекст, где вызывается, проверку на nullptr тыкнуть, или исправить чтобы он не был нуллптр. Откуда нам знать что и где у тебя вызывается
 
Назад
Сверху Снизу