我在我正在工作的项目中发现了这段代码:
template<typename T>
class SomeClass
{
};
typedef SomeClass<void(void)> SomeType;
什么是
<void(void)>
构造?你能用一个简单的示例说明这种构造如何使用吗?这意味着类型参数是一个函数类型(注意,不是函数指针,而是函数类型),它不带任何参数并且不返回任何值。
你甚至可以这样定义函数的参数:
void f (void(void));
T
是一种不返回任何内容且不带参数的函数类型。