一个很操蛋的问题

yu.sang 2015-03-26 08:52:42
不知道大家遇到过没,反正我吃了大亏,搞死了。
在vc6.0中把结构体如下定义:


typedef struct ERR_CODE_STR_ST
{
int errno;
char *errStr;
}ERR_CODE_STR_T;

ERR_CODE_STR_T gErrCodeStr[] ={ {0xF0," eee"},{...},}

这里编译器进行编译的时候始终报错,而且报的是很奇怪的错误。
error C2078:too many initializers
error C2440: 'initializing':cannot convert form 'const int' to 'char*'
...
很是郁闷,我开始怀疑这样的用法,但是之前是经常这么使用的呀?
我擦,我就比较以前的代码,一点点的比较他们的不同点,终于发现,问题在于这个结构体变量定义了“errno”这个变量,查看定义,这个竟然是一个宏!!!尼玛

...全文
198 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
布拉格曼 2016-01-03
  • 打赏
  • 举报
回复
NotSimpleEasy 2015-03-26
  • 打赏
  • 举报
回复
赵4老师 2015-03-26
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
Falleyes 2015-03-26
  • 打赏
  • 举报
回复
fengidri 2015-03-26
  • 打赏
  • 举报
回复
你这,,,,,,,,,,
michael2988 2015-03-26
  • 打赏
  • 举报
回复
顶下,领分哦。。
羽飞 2015-03-26
  • 打赏
  • 举报
回复
VC中errno是一个宏吗,我以为只是在Linux/Unix中的系统才是定义过的...

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧