Steamworks проверяет, вошел ли пользователь в систему

Итак, код, который я использовал для получения Steam ID пользователя:

CSteamID uid = SteamUser()->GetSteamID();
uint64 pid = uid.ConvertToUint64();
std::ostringstream sin;
sin << pid;
std::string s = sin.str();
return s.c_str();

Это работает просто отлично, но когда пользователь не вошел в Steam, происходит сбой.

Нарушение доступа — код c0000005 (первый / второй шанс недоступен)


Предоставляет ли Steam функцию, с помощью которой я могу проверить, вошел ли пользователь в систему, прежде чем запускать код, который зависит от пользователя, вошедшего в систему? Или есть какой-то блок try / catch, который я могу использовать здесь, чтобы убедиться, что он не ломается и возвращает false, если пользователь не вошел в систему?

4

Решение

Благодаря @ Lightning Racis на орбите. Простая проверка nullptr исправила это.

if(SteamUser() == nullptr)
return false;
1

Другие решения


По вопросам рекламы [email protected]