不知道大家遇到过没,反正我吃了大亏,搞死了。
在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”这个变量,查看定义,这个竟然是一个宏!!!尼玛