在DLL中,有一个从CSocket继承的类A,在OnReceive函数中,调用另外一个类B的函数来处理收到的数据,该函数处理完后,要通过类A的函数,把数据发出去。
这样,在类A的头文件中,就引用了B的关文件,类B的头文件中,又包含了A的头文件,这就出现的嵌了,出错了。请问有什么解决办法?
这样,在类A的头文件中,就引用了B的关文件,类B的头文件中,又包含了A的头文件,这就出现的嵌了,出错了。请问有什么解决办法?
解决方案 »
- C/S程序的服务端,如何区分多个不同的客户端连接?
- 大家讨论下,教你如何去掉菜单栏与工具栏之间的分隔线,好雷人。
- MDI一个document对应的多个view窗口显示问题
- 不知能否改变List控件的背景颜色?
- Ini文件和XML读取数据谁更快啊??
- 100分求des加密算法的解决方法,求救中
- 如何获得IE浏览器的滚动区(显示网页的区域)的范围
- MFC自动生成代码中的古怪符号?”#!defined(AFX_DRAWDOC_H_C1126E6E_96C5_11D2_AE7B_444553540000_INCLUDE“是什么意思?thank!
- 请描述一下 CListCtrl 的排序方法( 针对多个 Column 的 )
- 我用VC++编写ADO,调用AddNew()函数出错?
- 求treelistctrl控件
- vc 做的COM 怎样在.net(c#)里用呢
b) 在两个头文件的开头分别用class ClassB;和class ClassA;声明对方
c) 在两个cpp文件中分别包含另外一个类的头文件
NOTE:这种方法切记不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针。
b) 在两个头文件的开头分别用class ClassB;和class ClassA;声明对方
c) 在两个cpp文件中分别包含另外一个类的头文件
NOTE:这种方法切记不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针。
#ifndef _CLASS_A_H_FILE
#define _CLASS_A_H_FILE
...头文件内容#end if
classB头文件处理方法类似
#ifndef _CLASS_B_H_FILE
#define _CLASS_B_H_FILE
...头文件内容#end if这样可确保头文件只被加载一次
在文件头加这个,只被包含一次
----------问题未解决如果B只是调用A的函数的话,试试把include"A.H"放在B.CPP中
A中如果有定义的数据结构或者类,B用的到的话,就在B.H中加个声明,但是不要定义出来
不知道说明白了没
-----------------其实不单单是调用函数,还要在A中定义一个B类型的成员变量。
classA的头文件中增加
#ifndef _CLASS_A_H_FILE
#define _CLASS_A_H_FILE
...头文件内容#end if
classB头文件处理方法类似
#ifndef _CLASS_B_H_FILE
#define _CLASS_B_H_FILE
...头文件内容#end if这样可确保头文件只被加载一次
------------------------------------已试过,不行a) 分别定义ClassA和ClassB,并在cpp文件中实现之
b) 在两个头文件的开头分别用class ClassB;和class ClassA;声明对方
c) 在两个cpp文件中分别包含另外一个类的头文件
NOTE:这种方法切记不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针。
-------------------------------------这种方法解决了谢谢各位