我有一个工程,是基于MFC对话框的。xxxdlg.h和xxxdlg.cpp里有函数CXXDLG::YY(){},已经定义好了。在这个工程中有别的类BB.H和BB.CPP,里面CBB::CC(){}函数中我想调用YY函数,该怎么设置呢?可以吗?

解决方案 »

  1.   

    #include "xxxdlg.h"CBB::CC(){CXXDLG dlg;
    dlg.YY();
    }
      

  2.   

     error C2065: 'IDD_MYROBOT_DIALOG' : undeclared identifier
      

  3.   

    BB这个类是我自己写的,可以调用DLG里的函数吗?
      

  4.   

    定义一个BB类的对象,然后调用,
    或者把CC设置成静态函数,直接调用
      

  5.   

    BB类是dlg类,可以吗,我直接调用会出现error C2065: 'IDD_MYROBOT_DIALOG' : undeclared identifier,其他变量也显示没定义啊。怎么回事啊
      

  6.   

    定义CXXDLG m_dlg;的时候提示  CXXDLG没定义呢?
      

  7.   

    class xxxdlg
    {
    public:
    void yy()
    {
    printf("yy");
    }
    };
    class bb
    {
    public:
    void cc(xxxdlg* pdlg)
    {
    pdlg->yy();
    }
    };/************************************************************************/int main()
    {
    xxxdlg dlg;
    bb _testB;
    _testB.cc(&dlg); cin.get();
    return 0;
    }
      

  8.   

    首先要确保你YY()是public型的,否则其他非继承关系的类不能访问;
    在BB.CPP中加入头文件:
    #include "xxxdlg.h"
    CBB::CC()
    {
       xxxdlg dlg;
       dlg.YY();  //这里就是实现调用了
    }至于你提示的错误,'IDD_MYROBOT_DIALOG'应该是对话框资源ID号,你看看定义了没有
      

  9.   

    应该可以将**Dlg的指针传入到你的CBB::CC函数中,再利用该指针调用YY函数。
      

  10.   

    error C2065: 'CMYROBODLG' : undeclared identifier
      

  11.   

    按上面方法加后出现 : error C2065: 'IDD_MYROBOT_DIALOG' : undeclared identifier我就想问一下自己定义的类中可以调用xxDLG的类吗?可以的话怎么老错呢?
      

  12.   

    error C2065: 'IDD_MYROBOT_DIALOG' : undeclared identifier
      

  13.   

    把resource.h包上即可,要访问类函数,可以做静态函数,通过类访问,
    class xxxx
    {
    stsatic xxfun...
    };
    -----------------
    xxxx::xxfun.....