在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对象本身,是没有任何意思的,造成的结果就是两个再相互竞争中逐渐庞大……所以这个也是语法所不允许的