Я не эксперт по прибору шаблонов или типов, поэтому мне действительно нужна помощь.Я должен использовать существующий класс шаблона и столкнуться со следующей проблемой приведения типов.Я поместил пример кода, чтобы проиллюстрировать проблему.
//template class definition
template <class IntType>
class CUSTOMIZE_Int: public CUSTOMIZE_Type
{
public:
operator const IntType() const;
private:
IntType m_int;
}
template<class IntType>
CUSTOMIZE_Int<IntType>::operator const IntType() const
{
return m_int;
}
// the template class instantiation
typedef CUSTOMIZE_Int<WRAPPER_Int32> CUSTOMIZE_UnsignedInt;
Затем в своем коде я извлекаю новый класс
// the derived class definition
class IntNum: public CUSTOMIZE_UnsignedInt
{
// ctors and new methods;
}
, создаю переменную и пытаюсь выполнить преобразование для получения данных.
class IntNum& i;
const WRAPPER_Int32 j = i;
со следующей ошибкой компиляции:
error: cannot convert "IntNum" to "const WRAPPER_Int32" in initialization.
Как правильно выполнить преобразование или какова проблема с моим кодом?
Спасибо за любые комментарии!