在主视窗CTeenView中新建了4个子窗口(CFormView类型)
int CTeenView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; AddView(RUNTIME_CLASS(CSoftView), _T("SQL"), 0);
AddView(RUNTIME_CLASS(CHardView), _T("ACCESS"), 1);
AddView(RUNTIME_CLASS(CGameView), _T("PHP"), 2);
AddView(RUNTIME_CLASS(CProgView), _T("JSP"), 3); return 0;
}
现在我想要调用CSoftView中的ShowList()函数,应该怎么调用。
我试过:(*CFormView)CSoftView->ShowList()  不行。

解决方案 »

  1.   

    楼主的转换写错了``应该这样
    ((*CFormView)CSoftView)->ShowList() 符号的优先级没弄好``呵
      

  2.   

    上面写错,
    ((CFormView*)CSoftView)->ShowList()
      

  3.   

    CrazyAzreal的不行,
    error C2226: 语法错误 : 意外的“CSoftView”类型
      

  4.   

    噢。。我晕``我又看错``以为你的CSoftView是变量。。
    你要调用的方法是不是一个public函数?如果是的话```则这样
    CSoftView::->ShowList() 
    而且这个函数不可以涉及到类的成员变量```
    最好就是取到你的CSoftView的对象,然后再调用
      

  5.   

    不好意思。。打错几次。。我这里严禁上班时间在csdn回贴拿分。。所以比较急。。
      

  6.   

    View类用得不多,感觉应该是
    int CTeenView::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CView::OnCreate(lpCreateStruct) == -1)
    return -1;CRuntimeClass* temp;
    AddView((temp=RUNTIME_CLASS(CSoftView)), _T("SQL"), 0);
    AddView(RUNTIME_CLASS(CHardView), _T("ACCESS"), 1);
    AddView(RUNTIME_CLASS(CGameView), _T("PHP"), 2);
    AddView(RUNTIME_CLASS(CProgView), _T("JSP"), 3);
    ((CSoftView*)temp)->ShowList();return 0;
    }不知道对不对