模板参数中<void(void)>的含义

What <void(void)> means in template arguments

本文关键字:void gt 参数 lt      更新时间:2023-10-16

我在我正在处理的项目中找到了这段代码:

template<typename T>
class SomeClass
{
};
typedef SomeClass<void(void)> SomeType;

施工<void(void)>意味着什么?您能否在一个简单的示例中解释如何使用这样的结构?

这意味着类型参数是一个函数类型(注意,不是函数指针,而是函数类型),它不带任何参数,也不返回任何值。

您甚至可以通过以下方式定义函数参数:

void f (void(void));

当传递时,它将衰减到函数指针(就像数组参数衰减到指针一样)。

T这里是一种不返回任何参数且不带参数的函数。