C: error: array has incomplete element type 'void'

C: error: array has incomplete element type 'void'

==> 针对极端初学者的极端初学者问题 <==

有谁知道为什么会这样:void buf[1]; returns 这个错误:

error: array has incomplete element type 'void'.

正常吗?

您不能声明一个 void 类型的数组 - 也许您是想声明一个 void 指针数组?在这种情况下你会做

void *buf[1];

但是,您似乎更可能只想要一个 void 指针?

void *buf;

void 不是完整类型。它仅在函数定义中用于声明它不带参数或 returns 没有值,或者用作通用指针,即 void *ptr.

因此,void 类型的变量不能存在。