gpt4 book ai didi

c - 由于移植到不同的 gcc 版本而导致的问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:26 28 4
gpt4 key购买 nike

我有一个 C 代码,其中第三行出现错误:

struct in6_pktinfo *ptr;
ptr = (struct in6_pktinfo *) CMSG_DATA (cmsgptr);
*ifindex = ptr->ipi6_ifindex;


ERROR: dereferrencing pointer to incomplete type

如果是 gcc 4.6/4.7 和 centos/ubuntu 发行版,但不是 gcc 2.96

现在,我如何确定这个问题是由 gcc 引起的?

最佳答案

gcc 2.96 真的很旧,您不应该依赖它所说的内容。

如果 struct 的定义位于包含文件中,而由于 #ifdef 取决于编译器版本,该文件以不同的顺序包含,就会发生类似的事情。因此,您可能应该检查包含内容的顺序。 Doxygen 可能是一个有值(value)的工具,可以可视化您的项目的包含结构。

关于c - 由于移植到不同的 gcc 版本而导致的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17378192/

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