BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) 
{
if ( CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo) )
return TRUE;CConferenceDoc* pDoc = ( CConferenceDoc* ) GetActiveDocument ();
if ( pDoc != NULL )
POSITION pos = pDoc->GetFirstViewPosition ();while (pos!= NULL)
{
CConferenceView* pNextView = pDoc->GetNextView ( pos );
if ( pNextView != GetActiveView() )
{
if ( pNextView->OnCmdMsg ( nID, nCode, pExtra, pHandlerInfo ) )
return TRUE;
}
}
编译出现以下错误:
error C2065: 'pos' : undeclared identifier
是什么原因?谢谢!!

解决方案 »

  1.   

    if ( pDoc != NULL ) POSITION pos = pDoc->GetFirstViewPosition (); 
    //改:
    POSITION pos ;
    if ( pDoc != NULL ) pos = pDoc->GetFirstViewPosition (); 
      

  2.   

    谢谢!!这个问题不出现了,但又出现另一个问题:cannot convert from 'class CView *' to 'class CConferenceView *'
      

  3.   

    如果是多视图的话这句CConferenceView* pNextView = pDoc->GetNextView ( pos ); 改为:
    CView * pNextView = pDoc->GetNextView ( pos ); 不是的话可以改为:
    CConferenceView* pNextView = (CConferenceView*)(pDoc->GetNextView ( pos ));
      

  4.   

    dengxuxing 您真厉害,谢谢!!编译是通过了。但是运行后程序崩溃,不知是什么原因?忘了告诉您,我用的是分割视图。