两者有什么不同? struct Test(); struct Test(()); 我知道结构体可以有元组(未命名字段)。但是,在这种情况下,(())表示什么我不确定?是一个具有一个空元组元素的结构体吗?
这是一个只包含空元组的结构体? 完全正确。 严格来说,这些是不同的类型,但它们携带的信息量完全相同;即为零。 这个参数实际上没有什么作用,通常你不会创建像struct Test(())这样的类型,除非在泛型上下文中。例如: struct Test<T>(T); 由于其他要求,T 最终变成了 ()。