在文档文件中多个函数中定义视图对象
Croot_growth3DGUIView* pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView();因此想在文档头文件直接定义Croot_growth3DGUIView* pView;
然后在文档构造函数中生成 pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView();
然后各个函数就可以直接使用pView。
但是这样做会出错:
error C2143: syntax error : missing ';' before '*'。请问如何解决这个问题?3X

解决方案 »

  1.   

    头文件相互包含导致的?纯猜测。
    在文档类头文件中使用 class Croot_growth3DGUIView;
    然后在.cpp中包含视图的头文件。
      

  2.   

    在哪里定义Croot_growth3DGUIView* pView;
      

  3.   

    在文档头文件中定义
    class Croot_growth3DGUIView; 
    Croot_growth3DGUIView* cPview;然后在文档的CPP文件中定义对象:
    pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView(); 还是报错:error C2440: '=' : cannot convert from 'Croot_growth3DGUIView *' to 'Croot_growth3DGUIDoc::root_growth3DGUIView *'
     
      

  4.   

    要考虑超前引用
    http://www.vckbase.com/bbs/prime/viewprime.asp?id=431