Пример вариативного шаблона VS2010 C ++

У меня есть шаблон класса, и я не могу понять, как выполнить создание экземпляра стиля Variadic Template.

Вот "код" того, что я ищу:

template<typename _Classname, typename... Args>
class CFunctorStartExT 
{
  friend class CXXFactory;
protected:
  template<typename U>
  CFunctorStartExT(typename U& _functor, Args&... args) :
    m_Functor(_functor),
    m_args(args)
  {
  }
  virtual bool ProcessLoop(CSomeClass* pThread)
  {
    return m_Functor(pThread, m_args);
  }

protected:
  _Classname& m_Functor;
  Args... m_args;
};

Очевидно, это не будет компилироваться :). Идея состоит в том, чтобы создать класс, который может хранить переданные значения (если они есть ... в нем может быть просто определено _Classname / U) в конструкторе, чтобы их можно было извлечь позже для передачи m_Functor в другую функцию.

Сначала: Можно ли сделать шаблон Variadic даже в VS2010? У меня возникают проблемы с компиляцией только из-за ошибки объявления шаблона C2143: синтаксическая ошибка: отсутствует ',' до '...' из строки template

Во-вторых, можно ли сделать то, что я пытаюсь достичь? Спасибо!

9
задан BabelFish 21 January 2011 в 21:04
поделиться