Показать сообщение отдельно

  #6  
Старый 09.04.2017, 10:03
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от 444555  

Указатели и их переменные выглядят вот так:

C:





Код:
int
dpId
;
byte dS
;
TCHAR title
;
TCHAR descr
;
TCHAR b1
;
TCHAR b2
;
int
*
dpIdP
=
&
dpId
;
byte
*
dSP
=
&
dS
;
TCHAR
*
titleP
=
&
title
;
TCHAR
*
descrP
=
&
descr
;
TCHAR
*
b1P
=
&
b1
;
TCHAR
*
b2P
=
&
b2
;


Вот так выглядит функция, которая использует один из указателей:

C:





Код:
bool CALLBACK
OP
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
61
)
{
params
->
bitStream
->
Read
(
*
dpIdP
)
;
params
->
bitStream
->
Read
(
*
dSP
)
;
params
->
bitStream
->
Read
(
*
titleP
)
;
params
->
bitStream
->
Read
(
*
descrP
)
;
params
->
bitStream
->
Read
(
*
b1P
)
;
params
->
bitStream
->
Read
(
*
b2P
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
444444
,
*
dpIdP
)
;
}
}


Вот так выглядит ошибка:

Код:





Код:
невозможно преобразовать аргумент 2 из "int" в "const char *"


Как вывести в чат сообщение через bool callback (хук), используя указатель на переменную вместо переменной?
Примечательно то, что если выводить не указатель а саму переменную, вывод будет нормальный не смотря на то что он не const char, однако в случае с указателем как раз на это ссылается студия.

И главный вопрос. В чём конкретно я ошибся?
А зачем все это извращение?
 
Ответить с цитированием