Йа волосат и бородат!
Вот я все ругаюсь на авторов библиотеки, а нашел в коде момент, которого даже не знал.
Вот честно скажу - никогда доселе не видел, чтобы объект одного типа кастовали к ссылке другого типа.
Но подход оригинален.
// прототип функции
// PDynaLink::Function - typedef указателя на функцию
void foo( PDynaLink::Function & );
// FunctionPtr - typedef указателя на функцию (сигнатура отлична от PDynaLink::Function)
FunctionPtr getSmth;
// пример кастования
foo( (PDynaLink::Function &getSmth );
Вот честно скажу - никогда доселе не видел, чтобы объект одного типа кастовали к ссылке другого типа.
Но подход оригинален.