Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Проблема с темплейтом


Автор: wildc 27.10.2006, 16:53
При переносе проекта под линух, возникла следующая ситуация

Код

    class CSOAPReqHandler: public EasySoap::SOAPDispatchHandler<IServiceCore>, public virtual ISOAPReqHandler
    {
        public:
               typedef SOAPDispatchHandler<IServiceCore>::HandlerFunction _HandlerFunction; // ошибка


gcc кричит что
 
/home/vsokov/projects/OSPO/servicesdk1/include/ospo/SoapReqHandler.h:51: ANSI C++ forbids declaration `SOAPDispatchHandler' with no type
/home/vsokov/projects/OSPO/servicesdk1/include/ospo/SoapReqHandler.h:51: template-id `SOAPDispatchHandler<IServiceCore>' used as a declarator
/home/vsokov/projects/OSPO/servicesdk1/include/ospo/SoapReqHandler.h:51: parse error before `::'
/home/vsokov/projects/OSPO/servicesdk1/include/ospo/SoapReqHandler.h: In method `void OSPO::ServiceSDK::CSOAPReqHandler::DispatchMethod(const char *, const char *, void (OSPO::ServiceSDK::IServiceCore::*)(const EasySoap::SOAPMethod &, EasySoap::SOAPMethod &))':
 

HandlerFunction - это тайпдеф в классе-шаблоне SOAPDispatchHandler. Там такой хитрый указатель.

Код

template <typename T> 
class SOAPDispatchHandler : public SOAPDispatchHandlerInterface
{
protected:
    typedef void (T::*HandlerFunction)(const SOAPMethod& request, SOAPMethod& response); 


Автор: wildc 27.10.2006, 17:19
отбой! разобрались.

зы. в дворники уйду

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)