由于模板参数中的逗号,无法使用模板化类型编译va_arg()调用

时间:2014-05-20 19:36:11

标签: c++ g++ variadic-functions

这一行:

minimum= va_arg(arguments, Vector<T, dimension_count>);

不会编译,因为逗号使编译器认为有三个参数而不是两个。几个月前,当我第一次写这篇文章时,我想到了这一点。我的解决方法是简单地将模板类型放在一组括号内。这在Visual Studio的编译器中工作到今天,当我切换到G ++时,它拒绝编译,因为它

  

“''之前的预期类型说明符。('token'。

所以看来如果我这样做我该死的,如果我不这样做该死的。非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

使用typedef将您的Vector类型转换为更简单的名称,但不包含逗号。