我用向导建立了一个exe文件,加入一个edit框,对应的设置了一个CSARDlg::show()函数做为接口,然后又用类向导建立了一个类。在这个类中要用到CSARDlg::show(),但是调用的时候却出错:
error C2352: 'CSARDlg::show' : illegal call of non-static member function
还请指点,肯定散分。

解决方案 »

  1.   

    设一个CSARDlg的指针pDlg,用pDlg->Show()来调用.另外,可以向CSARDlg发消息.
      

  2.   

    首先要定义一个CSARDlg对象,才能调用对象的函数呀
    只有静态函数才能象你写的那样调用
      

  3.   

    那是个类,是个抽象的东西,不能直接 SHOW的,只有创建了该类的对象后才能调用成员函数
      

  4.   

    如何调用呢?在CSARApp中有
    CSARDlg dlg;
    所以我改用
    #include "SAR.h"
    #include "SARDlg.h"
    ....
    dlg->show(temp);
    也是不行。
    需要在哪里创建对象?
      

  5.   

    楼主是不是位女生呀?同志:CSARDlg dlg;这是定义一个对象变量,要调用其成员函数得这样dlg.show()。如果像这样定义CSARDlg* pdlg;则要这样调用函数pdlg->show()
      

  6.   

    我在另外的一个文件里定义的CSARDlg的对象,要声明一下吗?怎么声明牙?
      

  7.   

    直接传递一个。类的对象过去,然后调用dlg.show()