无法使用模板化类型编译 va_arg() 调用,因为模板参数中的逗号
Can't compile va_arg() call using templated type because of comma in template parameters
这一行:
minimum= va_arg(arguments, Vector<T, dimension_count>);
不会编译,因为逗号会让编译器认为有三个参数而不是两个。这是几个月前我第一次写这篇文章时想到的。我的解决方法是简单地将模板类型放在一组括号内。这在Visual Studio的编译器中一直有效,直到今天,当我切换到g++时,它拒绝编译,因为它
" '('令牌前的预期类型说明符"。
所以看起来我做了也好,不做也罢。非常感谢你的帮助。
使用typedef
将Vector类型转换为更简单的名称,其中没有逗号
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- C++中的神秘:函数调用行为不端只是因为存在另一个函数调用,即使它们是不相关的
- 尽管有停止条件,无限递归调用仍会执行,因为参数不会前进
- 为什么有两个额外的析构函数调用,因为我只创建了两个对象并使用重载赋值运算符和增量运算符
- c++调用约定是否受标准约束,因为在声明fn时不需要定义函数的返回类型
- 是一个长列表的依赖关系,因为调用RegOpenKeyEx正常
- 无法使用模板化类型编译 va_arg() 调用,因为模板参数中的逗号
- 如何在 2D 字符串数组中填充记录,因为我在调用 sqlite3_step() 之前没有记录计数