2016-02-26 3 views
-1

Я пытаюсь добавить std :: string * в список и после нескольких часов поиска я не мог понять это. Вот мой код:Добавление std :: string * в ListBox

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

Есть ли способ сделать это?

+1

'возвращения (станд :: строки *) (* (интермедиат *) (Instance + 0x28));' Да ?? Откуда у тебя этот образец? –

+1

Этот код выглядит супер опасным. Что делать, если 'int' недостаточно велик, чтобы удерживать указатель? Какое волшебное число «0x28»? Почему у вас есть указатель на 'std :: string' в первую очередь.? –

+0

У вас есть ошибка, пытающаяся запустить это? Если нет, то это, вероятно, функция getName и что uhhh, интересный код возврата. –

ответ

0

Попробуйте сделать свой

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

так:

char* getName(int Instance) { 
    return (char*)(PBYTE(Instance) + 0x28); 
} 
Смежные вопросы