gpt4 book ai didi

c++ - 拆分器 CreateStatic 问题

转载 作者:行者123 更新时间:2023-11-28 03:50:46 24 4
gpt4 key购买 nike

当我尝试在 MainFrame 类中创建静态拆分器时出现下一个错误。错误 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 的 header 。确保不在 MyDoc.h 中包含 MyView.h,在 MyView.h 中不包含 MyDoc.h。那会造成循环依赖;如果需要,使用前向声明,以避免此类循环。

关于c++ - 拆分器 CreateStatic 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5585725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com