如果是这样呢?file1. 中:
#include "file2.h"
#include "file3.h"
class CA
{
  ...void funA(){
  function1(CA a,CB b);
}
...}
file2. 中:
#include "file1.h"
#include "file3.h"class CB
{
  ...funB(){
  function1(CA a,CB b)
}
...}file3中
#include "file1.h"
#include "file2.h"function1(CA a,CB b){}
这样一来,
global里面出来两个function1(CA a,CB b);编译也会出错

解决方案 »

  1.   

    在你的file3.cpp文件中定义全局函数function1,然后在file3.h中用extern来声明这个函数!
      

  2.   

    头文件里不要include别的头文件,也就是不要交叉include,只要在最上面像这样
    class CA;
    class CB;
    ...
    在cpp文件里可以include CA和CB的头文件
      

  3.   

    同意simouse(虚拙) 
    在。h中
    定义
    class CA;
    class CB;
    在。cpp中include
      

  4.   

    显然是重复的include了,编译肯定通不过。我不理解你反复include那怎么行。
    file1中include2,3
    file2中include1,3
    file3中include1,2
    哪有这么循环include的,建议减少一个类。使用全局函数来传递值