gpt4 book ai didi

无法在头文件中分配结构变量

转载 作者:太空狗 更新时间:2023-10-29 15:49:29 26 4
gpt4 key购买 nike

我有一个包含如下结构的头文件:

typedef struct
{
int index = -1;
stack_node *head;
} stack;

但是当用 cc 编译时它在赋值行显示错误(int index = -1):

error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token

我应该添加一个初始化函数来初始化变量吗?

最佳答案

您提供的不是变量声明而是类型定义。您不能将默认值分配给 typedef 中的结构字段。

如果你想给结构体变量赋初值,你应该尝试:

stack myStack = { .index = 1 };

这适用于 C99。

关于无法在头文件中分配结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com