Re: Как приводить указатель на функцию?
От: Павел Кузнецов  
Дата: 09.10.02 10:10
Оценка: 9 (2)
Здравствуйте Pushkin, Вы писали:

P>typedef void (*myfunctype)(int);

P>myfunctype myfunc=(myfunctype)GetProcAdress(hLib,"MyFunc");
P>(*myfunc)(1);

P>а нельзя ли это сделать покороче? особенно меня typedef раздражает


Без typedef:

void(*myfunc)(int) = (void(*)(int))GetProcAdress(hLib,"MyFunc");
(*myfunc)(1);


Без временной переменной:

((void(*)(int))GetProcAdress(hLib,"MyFunc"))(1);


P.S. Строго говоря, все эти примеры, включая первоначальный, некорректны, т.к. преобразования из void* в указатель на функцию стандартом не разрешены.
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.