我有一个类模板,但我似乎无法弄清楚如何执行 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 Template 甚至可以在 VS2010 中完成吗?我只是error C2143: syntax error : missing ',' before '...'
从该行的模板声明中遇到编译问题template<typename _Classname, typename... Args>
其次,我想要完成的事情可以完成吗?谢谢!