C:错误:数组的元素类型不完整'void'[关闭]

问题描述 投票:-7回答:2

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

有谁知道为什么:void buf[1];返回此错误:

error: array has incomplete element type 'void'

这是正常的吗?

c arrays compiler-errors void void-pointers
2个回答
2
投票

void不是一个完整的类型。它仅在函数定义中用于声明它既不接受参数也不返回任何值,或者作为通用指针,即void *ptr

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


3
投票

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

void *buf[1];

但是,你似乎更想要一个无效指针?

void *buf;
© www.soinside.com 2019 - 2024. All rights reserved.