c++ - VS2010 C++ 可变参数模板示例

标签 c++ visual-studio-2010 templates variadic

我有一个类模板,但我似乎无法弄清楚如何执行 Variadic 模板样式实例化。

到目前为止,这是我正在寻找的“代码”:

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>

其次,我想完成的事情能完成吗?谢谢!

最佳答案

Visual C++ 2010 不支持可变参数模板。

关于c++ - VS2010 C++ 可变参数模板示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763736/

相关文章:

c++ - 向单链表添加值

c++ - 将 double 转换为 LSBF (little Endian) 十六进制字符串

c# - 在 Resharper 中重新排序 Stylecop 的修复选项

c++ - 断点未命中静态链接库中的全局静态初始化类

c++ - 二维矩阵变换(有玩家和地面)

c++ - 段错误中序遍历

c++ - 嵌套静态链接库和一个可怕的错误

c++ - C++ 编译器如何决定调用这些函数中的哪一个?

c++ - 带返回类型参数的函数模板特化

c++ - 模仿 "if constexpr"行为,不可能?