2016-02-26 65 views
-1

我想添加一個std :: string *到列表中,並且在搜索幾個小時後我找不到它。這裏是我的代碼:添加std :: string *到列表框

std::string* getName(int Instance) { 
    return (std::string*)(*(int*)(Instance + 0x28)); 
} 
for (auto &i : getChildren(Players)) { 
    this->playerList->Items->Add(getName(i)); 
} 

有沒有辦法做到這一點?

+1

'回報(的std :: string *)(*爲(int *)(實例+ 0×28));'咦?你從哪裏得到這個樣本? –

+1

此代碼看起來非常危險。如果'int'的大小不足以容納一個指針呢?什麼樣的幻數是0x28?爲什麼你首先有一個指向'std :: string'的指針..? –

+0

你試圖運行這個錯誤嗎?如果不是那麼它可能是getName函數和那個呃,有趣的返回代碼。 –

回答

0

儘量讓你

std::string* getName(int Instance) { 
    return (std::string*)(*(int*)(Instance + 0x28)); 
} 

這樣的:

char* getName(int Instance) { 
    return (char*)(PBYTE(Instance) + 0x28); 
}