a include b------------b include a
问题是这样的:
PacsDBConnection定义在PacsDBIF.h中
CTableList定义在TableNameListNode.h中
现在TableNameListNode.h已经#include "PacsDBIF.h"
如果我们PacsDBConnection要加入CTableList gTableList变量就需要在PacsDBIF.h中#include "TableNameListNode.h"
这样就造成了两个头文件相互include的问题。
我使用过#ifndef #define #endif和class声明两种方法都没有解决。
问题点数:0、回复次数:6Top
1 楼Happy197212(Wright)回复于 2003-08-01 15:24:14 得分 0
用友员类来定义吧。Top
2 楼Happy197212(Wright)回复于 2003-08-01 15:26:41 得分 0
In PacsDBIF.h 的定义,
class PacsDBConnection
{
friend class CTableList;
public:
........
}
Top
3 楼wangjinwang(王者之疯)回复于 2003-08-01 15:31:27 得分 0
试试一个class前用
#include""
另一个class前用
class 另一个类名;Top
4 楼Cline(营营[无意苦争春,贯看群芳谢])回复于 2003-08-01 15:57:25 得分 0
use pointer
for example
//PacsDBIF.h
class CTableList;
class PacsDBConnection
{
CTableList* m_pTableList;
}
//PacsDBIF.cpp
#include "PacsDBIF.h"
#include "TableNameListNode.h"
...
m_pTableList=new CTableList;
...
Top
5 楼Bandry(菜鸟-舍我其谁)回复于 2003-08-01 16:12:27 得分 0
为什么要这样做了?想不明白,如果你要在一个头文件中使用另一个头文件中定义的类,你可以在这个类中使用提前声明,比如你要在classa.h中使用classb.h中的类b,而classb.h已经包含了classa.h,你就可以在classa.h中使用Class b;这样的提前声明(在class a的定义之前)而不是包含头文件class.bTop
6 楼xiaohedou(小河豆(充电中.18%.))回复于 2003-08-01 18:13:49 得分 0
思考!Top




