Maj*_*imi 3 c struct header-files cc
我有一个头文件,包括这样的结构:
typedef struct
{
int index = -1;
stack_node *head;
} stack;
Run Code Online (Sandbox Code Playgroud)
但是当使用cc进行编译时,它会在赋值行(int index = -1)处显示错误:
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
Run Code Online (Sandbox Code Playgroud)
我应该添加初始化函数来初始化变量吗?
您提供的不是变量声明,而是类型定义.您不能将默认值分配给typedef中的struct字段.
如果要为结构变量分配初始值,则应尝试:
stack myStack = { .index = 1 };
Run Code Online (Sandbox Code Playgroud)
这适用于C99.
| 归档时间: |
|
| 查看次数: |
4070 次 |
| 最近记录: |