本帖最后由 softdevcn 于 2010-11-30 08:15:41 编辑

解决方案 »

  1.   

    两个类是不能相互使用的,你在主窗口gameDlg.cpp里加了头文件:#include "P3.h"
    那么p3.cpp里就不能出现:#include "gameDlg.h"。
    一定要用的话,可以在p3.cpp的开始位置加:class CgameDlg;
      

  2.   

    我一定要用,#include "gameDlg.h",这里面的函数的话,class CgameDlg;这样写也能调用吗?
    导入类,没有像
    #ifndef _AFX_NO_AFXCMN_SUPPORT
    #include "game_fun.h"                
    #endif // _AFX_NO_AFXCMN_SUPPORT
    这样之类的定义吗?
      

  3.   

    你是不是把__cdecl set_yuan_bian_se这个函数在头文件里实现了? 移到cpp里面吧
      

  4.   

    哦,刚刚说错了,是在p3.h的开始位置加:class CgameDlg;
    你试试,肯定行的
      

  5.   

    set_yuan_bian_se这个函数在 .h头文件中实现了,把它移到.cpp中实现就OK
      

  6.   

    呵呵,他这个不是头文件相互包含,应该不是这个问题。
    看看game_fun.h 有重复包含定义吗?
      

  7.   

    你的这些头文件里有没有避免重复编译的措施
    比如宏定义或#program once
      

  8.   

    set_yuan_bian_se这个函数,我一定要写在#include "game_fun.h"这个文件里面
    CPoint set_yuan_bian_se(CgameDlg  &pParam)
    {
    xxxx
    }
    函数是这样写的,而且gameDlg.cpp里面,一定要写
    void CgameDlg::write_image()
    {
    set_yuan_bian_se(*this);
    xxxx
    }
    这个代码的话,在p3.cpp里面,set_yuan_bian_se,write_image,这两个函数都要调用的话应该怎么写呢?
      

  9.   

    防止文件重复包含的宏是自定义的
    你可以先在头文件里都加上#program once试试
      

  10.   

    写了,#pragma once这个,也不行啊