8 12 C:\Users\86152\Documents\c语言(1)\打杂2.cpp [Error] variable 'main()::st st1' has initializer but incomplete type
时间: 2023-10-15 21:08:28 浏览: 119
这个错误通常是由于结构体定义不完整导致的。可以检查一下程序中是否有结构体定义不完整的情况。比如说,如果结构体中使用了指向自身类型的指针,但是没有提前声明结构体,则可能会出现这个错误。
举个例子:
```
struct Node {
int val;
struct Node *next; // 此处使用了指向自身类型的指针
};
int main() {
struct Node head = {0, NULL}; // 初始化结构体时出现 incomplete type 错误
return 0;
}
```
这个错误可以通过在结构体定义之前提前声明结构体来解决,如下所示:
```
struct Node; // 提前声明结构体
struct Node {
int val;
struct Node *next;
};
int main() {
struct Node head = {0, NULL}; // 初始化结构体时不再出现 incomplete type 错误
return 0;
}
```
希望这个解释能够帮到你。
阅读全文