Здравствуйте, Ed.ward, Вы писали:
EW>Здравствуйте, 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 ... и Адрес Метода ответа не нашел
EW>
EW>EW>union Test
EW>{
EW> int addr;
EW> void (C::*ptr)(char *);
EW>};
EW>Test func;
EW>func.ptr = &C::Proc1;
EW>int iVal = func.addr;
EW>
EW>Ed.ward
Работает однако .... видно мне С еще учить и учить