尝试在MainFrame类中创建静态拆分器时出现下一个错误。
错误C2653:'CMyView':不是类或名称空间名称c:\ projects \ mt \ mt \ mainfrm.cpp 200 1 MT
我试图将#include“ MainFrm.h”添加到MainFrm.cpp的顶部,但是它使有关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。这将产生循环依赖性;如果需要,请使用前向声明,以避免此类循环。