C/C++:有没有一个特定的原因为什么"void"不是简单地定义为具有适当的强制转换规则的"typedef struct {} void"(即一个空结构)?

Nev*_*DNZ -3 c syntactic-sugar

顺便说一下:这样的标准typedef有助于减少C/C++ 中保留字的数量,并将void降级为简单 类型声明,例如在<stddef.h>中.(CF SRBAB33/1972年3月 - PDF = 7KB)

dus*_*uff 5

这很投机.但有一个很好的理由是因为void它不是空值; 这是没有价值的.例如,具有签名的函数int f(void)采用零参数,而不是一个.