【问题标题】:variadic template - error C2143: syntax error : missing ',' before '...' [duplicate]可变参数模板 - 错误 C2143:语法错误:在 '...' 之前缺少 ',' [重复]
【发布时间】:2013-12-06 17:42:05
【问题描述】:

在我的 C++ 项目中,我刚刚创建了一个 .h 文件,这正是文件的内容:

    template <typename... ParamTypes>   
    void setTimeOut(int milliseconds,ParamTypes... parames)
    {
    };

当我编译它时,它给了我两个错误:

error C2143: syntax error : missing ',' before '...'          settimeout.h
error C2061: syntax error : identifier 'ParamTypes'           settimeout.h

没有这个文件,我编译项目时没有错误。

【问题讨论】:

  • 也许this 能帮上忙? VS2012 默认不支持可变参数模板。
  • 你说的这个 C++11x 是什么? :-) VS2012 November CTP 中增加了对可变参数模板的支持。你需要安装它,或者升级到 VS2013。
  • 对不起,它应该是 C++11。顺便说一句,我的视觉工作室是 VS2012 年 11 月 CTP。
  • 对不起,我找到了解决方案:stackoverflow.com/questions/13238408/…
  • @Giswin - 仅供参考,您应该能够将自己的回复标记为答案:)

标签: c++ visual-studio-2012 c++11


【解决方案1】:

如果有人遇到同样的问题,只是为了方便。我在以下位置找到了解决方案:

Variadic Template in VS 2012 (Visual C++ November 2012 CTP)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    相关资源
    最近更新 更多