From the stack trace and your source code, a cause of the error seems to be the array(s) povButtonCurr and/or povButtonPrev.
Input\WheelDirectInput.hpp
const int POVDIRECTIONS = 8;
std::unordered_map<GUID, std::array<bool, POVDIRECTIONS>> povButtonCurr{};
std::unordered_map<GUID, std::array<bool, POVDIRECTIONS>> povButtonPrev{};
> std::array<bool,8>::operator[] (152)
Input\WheelDirectInput.cpp
bool WheelDirectInput::IsButtonJustPressed(int buttonType, GUID device) {
if (buttonType > MAX_RGBBUTTONS) { // POV
int povIndex = povDirectionToIndex(buttonType);
if (povIndex == -1) return false;
povButtonCurr[device][povIndex] = IsButtonPressed(buttonType,device);
// raising edge
if (povButtonCurr[device][povIndex] && !povButtonPrev[device][povIndex]) {
return true;
}
return false;
}
rgbButtonCurr[device][buttonType] = IsButtonPressed(buttonType,device);
// raising edge
if (rgbButtonCurr[device][buttonType] && !rgbButtonPrev[device][buttonType]) {
return true;
}
return false;
}