2016-10-01 10 views
-2

"識別子が見つかりません"というエラーを調べるには、関数をメインループの外に移動する必要があるか、または前方宣言を使用する必要がある投稿を見つけようとしました。しかし、私のスクリプトはゲームエンジン用のモジュールとして使用されているので、本当のメインループを持っていないし、問題の機能は問題なく、失敗した行の上に別の関数によって呼び出される:IDの作成機能が座るプログラム以外のループスクリプトで識別子が見つかりません

// 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); 
    } 
} 

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

私は一種の喪失しています。うまくいけば、誰かが私を正しい方向に向けることができます。それがメンバーでない場合、あなたはそれにアクセスすることはできません

string Steam::getFriendPersonaName(int steamID)... 

答えて

1

getFriendPersonaName場合は、()メンバ関数その後、あなたはそれが次のようになりますので、それを正しい方法を定義するために忘れてしまったです。ただし、getFriendPersonaName()が署名を編集する友人の機能である場合にのみアクセスできます。

String getFriendPersonaName(int steamID, const steam& rhs); 
+1

本当にありがとうございます。私は良いことのためにそれを見つめていたので、私はそれが私が見落としていた単純なものだと思った。乾杯。 – Gramps

+1

それはいいです。私はメンバーが投票の代わりにお互いを助けてくれることを願っています – Raindrop7

+0

さて、それはかなりStackoverflowのポイントだったことを確認します。私は自分の疑問を明らかに理解することができます。明らかに私のために監視の問題ですが、時には何かを見ている別の目が必要になることがあります。 – Gramps

関連する問題