Доброе время суток.
Я работаю с CodeWarrior 8.3 на Macintosh и столкнулся с такой проблемой: как передать шаблон функции как параметр шаблона другой функции или класса?
Немного истории

. Есть правильно работающий код:
// TList - Loki::Typelist<>
// конвертирует тип из списка типов в адрес конкретизации
// функции FunctionsOwner::Function1 этим типом
template <class TList, class FunctionsOwner>
struct TypeListToFunctionMap
{
void Convert(FunctionsOwner::Map& map)
{
...
typedef TList::Head SomeType;
map[i] = &FunctionsOwner::Function1<SomeType>;
....
}
};
class CFunctionsOwner
{
publuc:
typedef void (CFunctionsOwner::*TMapElement)();
TMapElement m_Map[10];
template <typename T>
void Function1()
{
...
}
};
Вызов такой:
CFunctionsOwner functions;
TypeListToFunctionMap<MyList, CFunctionsOwner>::Convert(functions.m_Map);
Все было хорошо, пока не понадобилась map для другой функции Function2(). Хотелось бы получить что-то такое:
TypeListToFunctionMap<MyList, CFunctionsOwner::Function1>::Convert(functions.m_Map1);
TypeListToFunctionMap<MyList, CFunctionsOwner::Function2>::Convert(functions.m_Map2);
Но компилятор ругается по поводу CFunctionsOwner::Function1 — declaration syntax error
Отсюда вопрос: возтожно ли вообще передать как паратетр шаблона неконкретизированный шаблон функции (с шаблоном класса все котпилируется

)?
Заранее благодарен, Сергей.