当前位置:  开发笔记 > 编程语言 > 正文

如何编译代码,其中字段与类型具有完全相同的名称?

如何解决《如何编译代码,其中字段与类型具有完全相同的名称?》经验,为你挑选了1个好方法。

我从这里复制粘贴一些代码,无法编译.这部分问题:

struct pkt_buf {
/* I/O address corresponding to the start of this pkt_buf struct */
ef_addr            ef_addr;

我有这个错误:

openonload-201509/src/include/etherfabric/ef_vi.h:119:33: error: changes meaning of ‘ef_addr’ from ‘typedef uint64_t ef_addr’ [-fpermissive]
typedef uint64_t                ef_addr;

据我所知,我不能对类型和字段使用相同的名称.但我链接的库被广泛使用,它必须编译.我的编译器设置可能有问题吗?我怎样才能编译我的代码?



1> M.M..:

源代码是efsink.cC文件.

此代码在C中有效,但在C++中无效(我认为).

您应该使用C编译器来编译C文件.C和C++是不同的语言.

主要的C++编译器也捆绑了一个C编译器,通常他们根据文件名自动检测语言(但这可以用开关覆盖).

您可以拥有一个包含一些C文件和一些C++文件的项目,但您必须为C文件使用C编译器,并为C++文件使用C++编译器.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有