在MFC工程的ADlg.cpp中有一个函数  myFun();现在需要在另一个 导入工程的 assist .cpp 引用 myFun();在 assist .cpp 中导入 ADlg.h 后,会有很多冲突 =_= 工程好大,不好修改,所以,想问还有没有别的方法 在类外引用 该函数呢?=================================================
命名空间可以么?
namespace AAA
{
    #include "ADlg.h"
}这个貌似哪里见过的样子,但是不会用~~~O_o

解决方案 »

  1.   

    在ADlg.h文件中声明:extern 你写的的函数(包括函数名、返回类型、参数),在assist .cpp里#include "ADlg.h",然后就可以使用该方法了,我原来这样用过,希望能帮到你
      

  2.   

    定义一个指向类的指针对象,在assist中,ADlg * pADlg;
    pADlg->myFun();
      

  3.   

    在 assist 类中定义一个ADlg类的指针。ADlg *pADlg;
    pAdlg->myFun();
      

  4.   

    在 assist 类中定义一个ADlg类的指针。ADlg *pADlg;
    pAdlg->myFun();
    ------------------------------------------------
    这样处理应该是不对的,它只是声明了一个ADlg的对象,此时pADlg是个空指针。必须要对*pADlg实例化才能使用
      

  5.   

    额~~~使用extern的话, myFun()是在 ADlg。cpp中实现的
    那么只需要在调用它的 assist.cpp 中用 extern 声明函数: extern void myFun();   即可
    这个我忘记说了~~~
    我曾经都是这样弄的~~~但是,这次,居然说找不到  myFun()    =——=====奇怪啊~~还有,说了,在 assist.cpp 中添加 #include "ADlg.h"  居然很多冲突~~到处是找不到什么+_+ 好麻烦奥
      

  6.   

    并且。这样还是要引用 #include "ADlg.h"  的啊。不知道为么,引用了这个头文件会有这么多冲突
      

  7.   


    对啊对啊
    还有什么方法么?
    奇怪~我在 assitst.cpp 里面引用 ADlg.cpp 里面的变量的时候,用 extern 就是可以的呀为么调用这个函数反而找不到了呢
      

  8.   

    两个工程中有相同的功能需要相同的类的函数代码,
    1、可以把这个类的头文件和cpp文件都放进两个工程中(方法右键点击source files->addfiles to folder)
    2、把这个类做成公共模块dll,导出这个类
      

  9.   

    ADlg *pADlg;
    pAdlg->myFun();嗯 这样 pAdlg 是全局的,真个工程只有一个不好控制最后,解决了冲突···