|
Адрес функции-шаблона (C++)
Товарищи, вот скажите, можно ли как-нибудь полусить адрес функции-шаблона? Т.е., например есть:
template<class N> void Function(const N &_n){/*...*/}
Нужно получить &Function. Так просто злобный C++ указателей не раздает - мол, нет еще такой функции. Вполне с ним согласен, и правда нет. Но вот после инстанцирования функция-шаблон обретает тело и, теоретически, можно узнать, где это тело начинается. Вот только как?
Отвечаю заранее, зачем это нужно.
Есть некий шаблон класса:
template<class N>
class Class
{};
Этот самый Class создает свой собственный поток (thread) через AfxBeginThread, в котором, разумеется, нужно работать с этим классом. Но! Т.к. класс представляет собой шаблон, то и рабочая функция потока должна знать тип N, то есть тоже д.б. шаблоном. Вот тут и вылезает злой карлик: AfxBeginThread нужно передать адрес функции-шаблона.
Отвечаю заранее: Труп Страуса ответа на этот вопрос не дает.
Заранее премного благодарен.
|