Builder XE: не резолвится шаблон
От: Невидимка  
Дата: 19.11.14 10:13
Оценка:
При попытке использовать шаблон CMF<ULONG> (код ниже) получаю ошибку:
E2402 Illegal base class type: formal type 'CMCP<type,BackInit<type> >' resolves to 'CMCP<unsigned long,BackInit<type> >'
При этом CMCP<ULONG> раскрывается нормально. И CMCP<ULONG, BackInit>, например, тоже.
В VS 2010 и GCC все ок, но надо подружиться и с билдером.

template <class type>
KEY NoInit(CKeyedParam<KEY, type>& p) {
...
}
 
template <class type>
KEY ZeroInit(CKeyedParam<KEY, type>& p) {
...
}
 
template <class type>
KEY BackInit(CKeyedParam<KEY, type>& p) {
...
}
 
template<class type, KEY (*InitFunc)(CKeyedParam<KEY, type>& p) = NoInit>
class CMCP : public CCData {
....
 
template <class type>
class CMF : public CMCP<type, BackInit> {
public:
...
};
С уважением, Дмитрий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.