我刚用vc不长时间。有个问题那位高人给指教一下。
据个例子
在MyAppView.cpp文件中有个函数:void function(CString x);为什么在mainFrm.cpp中用 m_pMyAppView->function("str");出错?我该怎么做?  谢谢

解决方案 »

  1.   

    void function(CString &x);
      

  2.   

    估计是函数未定义吧(未包含相应的头文件)在mainFrm.cpp头部写一句:void function(CString x);
    再试试
      

  3.   

    View是动态创建的,你如何保证m_pMyAppView是有效的View?如果要操作活动的View,调用GetActiveView,如果是MDI,调用GetActiveFrame再调用GetActiveView。
      

  4.   

    如果函数在实现文件中这样定义:
    void function(CString x)
    {
       ...
       ...
    }
    那他并非是你的视图的成员函数,如此调用
    m_pMyAppView->function("str");是不会编译通过的。
    解决方法1.
    把它作为全局函数使用//别忘了声明void function(CString x);
    使用时直接调用 function("str");
    解决方法2.
    把它作为某个类的成员函数使用,//在该类的声明文件中声明void function
    使用时直接调用 m_pMyAppView->function("str");//function属于定义m_pMyAppView对象的类的成员函数。
      

  5.   

    应当保证m_pMyAppView是有效的View