C++ 拆分器创建静态问题

C++ 拆分器创建静态问题,c++,mfc,C++,Mfc,当我试图在大型机类中创建静态拆分器时,出现了下一个错误。 错误C2653:“CMyView”:不是类或命名空间名称c:\projects\mt\mt\mainfrm.cpp 200 1 mt 我曾尝试在MainFrm.cpp的顶部添加#include“MainFrm.h”,但它在CMyDoc上又犯了一个错误。我怎样才能解决这个问题 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pC

当我试图在大型机类中创建静态拆分器时,出现了下一个错误。 错误C2653:“CMyView”:不是类或命名空间名称c:\projects\mt\mt\mainfrm.cpp 200 1 mt

我曾尝试在MainFrm.cpp的顶部添加#include“MainFrm.h”,但它在CMyDoc上又犯了一个错误。我怎样才能解决这个问题

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
    CCreateContext* pContext)
{
    //calculate client size
    CRect cr;
    GetClientRect(&cr);

    if (!m_wndSplitter.CreateStatic(this, 1, 2))
        return FALSE;

    if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CMyView), CSize(cr.Width() / 2, cr.Height()), pContext) ||
        !m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CMyView), CSize(cr.Width() / 2, cr.Height()), pContext))
    {
        m_wndSplitter.DestroyWindow();
        return FALSE;
    }
    return TRUE;
}

您需要在MainFrm.cpp文件中包含定义CMyView的标题。确保不要在MyDoc.h中包含MyView.h,也不要在MyView.h中包含MyDoc.h。这将产生循环依赖;如果需要,请使用正向声明,以避免此类循环。

我在MainFrm.cpp中添加了#include“MTCDoc.h”#include“MTCView.h”,它可以正常工作。