现在的位置: 首页 > 综合 > 正文

VC6.0下一个常见重复包含产生的错误

2013年10月07日 ⁄ 综合 ⁄ 共 431字 ⁄ 字号 评论关闭

在vc6.0下,试用MFC以及vc下系统自动添加代码的时候,经常一不小心就会产生如下的错误:

syntax error : missing ';' before identifier 'db'
'CDatabase' : missing storage-class or type specifiers
missing storage-class or type specifiers 

 

刚开始的时候相当令人奇怪。本来有错误,但是如果我把一些语句注释掉,然后再把免除注释以后,错误就会消失掉。

真的不知道该怎么消除这个问题。

 

后来,我发现,因为是因为类的重复包含造成的。其实,这个问题,即使再struct中也很常见。

比如:

struct Ast

{

struct Bst b;

};

struct Bst

{

struct Ast a;

}

 

这个时候,只能试用指针,而同时试用类,或者说是struct对象本身,是没有任何意思的,造成的结果就是两个再相互竞争中逐渐庞大……所以这个也是语法所不允许的

 

抱歉!评论已关闭.