c - 在具有类型成员的结构定义处编译错误,指向 C 中的结构数组的指针
问题描述
首先,这是下面的代码制作错误
typedef struct alpha_node_t_ {
struct alpha_node_t_ (*nodePtr)[(26)][(8)];
} alpha_node_t;
在 VS 2017 中编译此代码时,它运行良好并且没有出现警告。
但是,当它在 C11: gcc 4.9.2 上运行时,我在此代码中遇到以下错误。
submission.c:15:26: error: array type has incomplete element type
struct alpha_node_t_ (* nodePtr)[(26)][(8)];
^
什么是问题?我认为因为成员的类型无论如何都是指针,所以成员大小将是固定的,或者编译器会知道成员大小。
gcc 如何在这一点上产生错误,VS2017 没有?我应该怎么做才能避免这个错误?
解决方案
推荐阅读
- snowflake-cloud-data-platform - 获取雪花序列 Nextval 的无效标识符
- postgresql - PostgreSQL 时间戳语法
- python - 根据条件用不同的数组替换多维数组(Python3.x)
- php - Azure Linux App Service PHP 会话不检索
- selenium - 如何找到站点“MarineTraffic”搜索的 XPATH(python 的 selenium) - 无法找到元素:{“method”:“xpath”,“selector”
- javascript - 有没有办法在 React 中进行自定义确认/警报,可以在 Reducer Fn 的 if 语句中调用
- python - Python距离矩阵
- reactjs - React Table V6 在排序时重新安装 Cell 组件
- c - 使用 jit 执行机器代码后尝试 fprintf 时出现分段错误
- node.js - 为什么 find({}) 返回未定义?