c++ 不支持 c 的 typedef struct 语法?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

c++ 不支持 c 的 typedef struct 语法?报错

2020-06-08 12:00:03 257 1

用eclipse 创建c++项目,

定义c的结构体报错

结构体如下:

typedef struct aeEventLoop {
    int maxfd;   /* highest file descriptor currently registered */
    int setsize; /* max number of file descriptors tracked */
    long long timeEventNextId;
    time_t lastTime;     /* Used to detect system clock skew */
    aeFileEvent *events; /* Registered events */
    aeFiredEvent *fired; /* Fired events */
    aeTimeEvent *timeEventHead;
    int stop;
    void *apidata; /* This is used for polling API specific data */
    aeBeforeSleepProc *beforesleep;
}aeEventLoop;

 

异常如下

error: changes meaning of ‘aeEventLoop’ from ‘typedef struct aeEventLoop aeEventLoop’ [-fpermissive]

执行命令如下

g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/server.d" -MT"src/server.o" -o "src/server.o" "../src/server.cpp"

 

执行命令如下

g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/server.d" -MT"src/server.o" -o "src/server.o" "../src/server.cpp"

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-08 12:00:21

    aeEventLoop明显重名了。

    typedefstruct{...}aeEventLoop;

    这样不行吗?或者typedefstructaeEventLoopEx这样换个名字

    不行,还是报错

    }aeEventLoop; 这一行直接修改为 }; 就可以了。

    不行。
    [root@localhostDocuments]#cattest.c#include<iostream>typedefstruct{inta;}aeEventLoop;intmain(){aeEventLoopael;ael.a=3456;std::cout<<ael.a<<std::endl;return0;}[root@localhostDocuments]#g++test.c[root@localhostDocuments]#./a.out3456[root@localhostDocuments]#

    写法是没问题,我这里可以编译

    我是使用eclipse作为ide,真的不知道哪里报错了。

    typedef 去掉。

     

    去掉其他地方报错,那么饿其他地方需要修改成structaeEventLoop×aeEventLoop
    $catserver.cpp#include<iostream>typedefstructaeEventLoop{intmaxfd;intminfd;};intmain(){aeEventLoopael;ael.maxfd=10;ael.minfd=0;std::cout<<ael.maxfd<<"\n"<<ael.minfd<<std::endl;return0;}$g++server.cppserver.cpp:3:1:warning:'typedef'wasignoredinthisdeclarationtypedefstructaeEventLoop{^~~~~~~$./a.exe100

    gccversion7.1.0(Rev2,BuiltbyMSYS2project)

    0 0
相关问答

4

回答

请教一个范围查询的问题

小文文文 2019-06-14 14:37:01 116472浏览量 回答数 4

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 123201浏览量 回答数 10

41

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 146819浏览量 回答数 41

35

回答

AliDDNS基于云解析API的DDNSC

dtsdao 2016-07-23 20:07:29 88732浏览量 回答数 35

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 96087浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148602浏览量 回答数 22

82

回答

OSS入门教程

belle.zhoux 2014-07-07 17:14:27 158539浏览量 回答数 82

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 86391浏览量 回答数 23

8

回答

mail.aliyun.com邮箱android手机客户端设置方法

jack_yang 2013-04-24 09:01:34 123817浏览量 回答数 8

62

回答

磁盘原地扩容功能4月22日正式上线

艳馨 2015-04-21 23:40:33 97141浏览量 回答数 62
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
2
文章
21568
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载