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 (1 回目/2 回目のチャンスはありません)


Steam は、ログインしているユーザーに依存するコードを実行する前に、ユーザーがログインしているかどうかを確認するために使用できる機能を提供していますか? または、ユーザーがログインしていない場合にこれが壊れて false を返さないことを確認するために、ここで使用できるある種の try/catch ブロックがありますか?

4

1 に答える 1

1

Orbit の @Lightning Racis に感謝します。単純な nullptr チェックで修正されました。

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