c - 如何处理 C 中的 typedef 数据类型(一般来说)?
问题描述
基本上编译器会抱怨未知类型名称“Song_t”,因为数据类型定义是在首次引用之后发生的。
struct Cell { Song_t song;
struct Cell *pnext;
};
typedef struct Song Song_t;
如果我之前放置 typedef,它可以工作。因此,通常建议将 typedefs 放在每个文件的开头吗?
解决方案
在定义之前,您不能引用 typedef 名称。
要么将 typedef 移到struct Cell
定义之前,要么struct Song
在定义中使用struct Cell
。
推荐阅读
- javascript - 如何限制 JavaScript 中按钮的点击次数?
- node.js - 如何将嵌入数组中的字段与根级别的字段进行比较?
- javascript - 第二次行未正确显示
- android - 华为设备Activity onCreate()中的NullPointerException
- python - 如何在 Tensorflow 中使用 Python 制作自定义损失函数+梯度?
- python - 使用 AWS CDK 将入口规则添加到安全组
- c# - C# 使用 Npgsql 使用 postgreSQL 选择填充组合框,然后填充其他文本框
- java - 有没有办法缩短由于对象的相似属性而重复的代码?
- .net - 在 React/.NET 中调用 Weather API - 如何在 API 调用中将表单的值设置为城市
- express - 我想生成多个响应并将其发送到客户端