Здравствуйте, dar veter, Вы писали:
DV>Помогите чайнику в моей проблеме....
DV>Есть класс
DV>DV>class C
DV>{
DV> private:
DV> void Proc1(char *c);
DV> void Proc2(void);
DV>}
DV>void C::Proc1(char *c)
DV>{
DV>}
DV>void C::Proc2(void)
DV>{
DV> int addr;
DV> unsigned char *buffer;
DV> void (C::*ptr)(char *) = &C::Proc1;
DV> addr = (int)ptr; // ошибка type cast
DV> buffer = (unsigned char*)ptr; // ошибка type cast
DV>}
DV>
DV>Если я правильно понимаю, то в ptr хранится должен быть адрес метода Proc1 ??
DV>Или что то другое ????
DV>Как мне выполнить приведение ptr к числу .... (int)ptr непрокатывает, ошибка "type cast" ?
DV>И как мне выполнить приведение памяти по адресу ptr к массиву символов ....
DV>(unsigned char*)ptr .... таже ошибка....
DV>Заранее спасибо за ответ.... Вот такая мне кривость понадобилась ....
DV>P.S.В предыдущих топиках ... Address Methods ... и Адрес Метода ответа не нашел
union Test
{
int addr;
void (C::*ptr)(char *);
};
Test func;
func.ptr = &C::Proc1;
int iVal = func.addr;
Ed.ward