-2

関数をメインループの外に移動する必要があるか、前方宣言を使用する必要がある投稿を見つけるためだけに、「識別子が見つかりません」というエラーを調べようとしました。ただし、私のスクリプトはゲーム エンジンのモジュールとして使用されるため、実際のメイン ループはなく、問題の関数は失敗した行の上の別の関数によって問題なく呼び出されます。

// Create a Steam ID
CSteamID Steam::createSteamID(uint32 steamID, int accountType){
    CSteamID cSteamID;
    if(accountType < 0 || accountType >= k_EAccountTypeMax){
        accountType = 1;
    }
    cSteamID.Set(steamID, EUniverse(k_EUniversePublic), EAccountType(accountType));
    return cSteamID;
}

// Set a Steam user as someone recently played with
void Steam::setPlayedWith(int steamID){
    if(SteamFriends() == NULL){
        return;
    }
    CSteamID friendID = createSteamID(steamID);
    SteamFriends()->SetPlayedWith(friendID);
}

// Get friend's Steam username
String getFriendPersonaName(int steamID){
    if(SteamFriends() == NULL || steamID == 0){
        return "";
    }
    CSteamID friendID = createSteamID(steamID);
    bool isDataLoading = SteamFriends()->RequestUserInformation(friendID, true);
    if(!isDataLoading){
        return SteamFriends()->GetFriendPersonaName(friendID);
    }
}

ID 作成機能は一番上にあり、これらの 2 つの機能はずっと後にあります。最初のもの (setPlayedWith) は問題なく成功しますが、2 つ目 (getFriendPersonaName) は次のエラーで失敗します: 'createSteamID': スクリプトのコンパイル時に識別子が見つかりません。

私は途方に暮れています。うまくいけば、誰かが私を正しい方向に向けることができます。

4

1 に答える 1