4

所以我用来获取用户 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

1 回答 1

1

感谢Orbit 中的@Lightning Racis。一个简单的 nullptr 检查修复了它。

if(SteamUser() == nullptr)
    return false;
于 2015-04-24T18:39:41.600 回答