函数参数包总是包扩展,所以它们声明的类型必须至少包含一个参数包,这是什么意思?
What does it mean that function parameter packs are always pack expansions, so their declared types must include at least one parameter pack?
在此代码段中
template<typename... Types>
void f(Types ... args);
Types
是模板参数包,args
是函数参数包.
关于这两个技术术语,C++ Templates - The Complete Guide 2nd Edition改为
Unlike template parameter packs, function parameter packs are always pack expansions, so their declared types must include at least one parameter pack.
这是什么意思?非至少一个的例子是什么,即在该句子的上下文中为零?
它说函数参数包只能使用另一个参数包创建,而不是从头开始。
What is the example of non-at least one, i.e. zero in the context of that sentence?
例如int ...params
是非法的,因为它不包含任何现有的包。
在此代码段中
template<typename... Types>
void f(Types ... args);
Types
是模板参数包,args
是函数参数包.
关于这两个技术术语,C++ Templates - The Complete Guide 2nd Edition改为
Unlike template parameter packs, function parameter packs are always pack expansions, so their declared types must include at least one parameter pack.
这是什么意思?非至少一个的例子是什么,即在该句子的上下文中为零?
它说函数参数包只能使用另一个参数包创建,而不是从头开始。
What is the example of non-at least one, i.e. zero in the context of that sentence?
例如int ...params
是非法的,因为它不包含任何现有的包。