意思就是出现“不允许使用不完整信息”一般是你定义了一个结构体。比如:struct { int a;char b;}mystruct;然后你在使用这个结构体给变量定义的时候写成了这样:mystruct x,y;在ANSI C语言中这样是不允许的(C++可以)要写成这样:struct mystruct x,y;就没有问题了。
C语言不允许使用不完整的类型报错是什么意思啊
意思就是出现“不允许使用不完整信息”一般是你定义了一个结构体。
比如:struct {
int a;
char b;
}mystruct;
然后你在使用这个结构体给变量定义的时候写成了这样:mystruct x,y;在ANSI C语言中这样是不允许的(C++可以)要写成这样:struct mystruct x,y;就没有问题了。
扩展资料:不允许使用不完整的类型说明
class base;
struct test;
base和test只给出了声明,没有给出定义。不完整类型必须通过某种方式补充完整,才能使用它们进行实例化,否则只能用于定义指针或引用,因为此时实例化的是指针或引用本身,不是base或test对象。
一个未知长度的数组也属于不完整类型:
extern int a[];
extern不能去掉,因为数组的长度未知,不能作为定义出现。不完整类型的数组可以通过几种方式补充完整才能使用,大括号形式的初始化就是其中一种方式:
int a[] = { 10, 20 };
2022-11-16