MFC 单文档 视图分割
if(!m_wndSplitHor.CreateStatic(this,1,2))returnFALSE;if(!m_wndSplitHor.CreateView(0,0...
if(!m_wndSplitHor.CreateStatic(this,1,2))
return FALSE;
if(!m_wndSplitHor.CreateView(0,0, RUNTIME_CLASS(CSplittestView), CSize(0,0), pContext))
return FALSE;
if(!m_wndSplitHor.CreateView(0,1, RUNTIME_CLASS(CSplittestView), CSize(0, 0), pContext))
return FALSE;
我建工程的时候命名为splittest,注意我的RUNTIME_CLASS()中的类与主视图的类名一致,即分割得到的两个窗口类名字和主视图类名一致。这样编译成功过一次,但是后来一直报错,错误的代码为“ CSplittestDoc * GetDocument();”,错误原因是“syntax error : missing ';' before * ”请问大神这是什么原因。
c:\splittestview.h(21) : error C2143: syntax error : missing ';' before '*'
c:\splittestview.h(21) : error C2501: 'CSplittestDoc' : missing storage-class or type specifiers
c:\splittestview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers
这是全部错误提示,都指向CSplittestDoc * GetDocument();这句代码,我其实什么也没做,这句代码是系统自己生成的,我就只是分割了窗口,其他的什么都没改,而且这个错误时存在时而消失,你可以自己在你的VC6.0下试试。谢谢您的耐心回答 展开
return FALSE;
if(!m_wndSplitHor.CreateView(0,0, RUNTIME_CLASS(CSplittestView), CSize(0,0), pContext))
return FALSE;
if(!m_wndSplitHor.CreateView(0,1, RUNTIME_CLASS(CSplittestView), CSize(0, 0), pContext))
return FALSE;
我建工程的时候命名为splittest,注意我的RUNTIME_CLASS()中的类与主视图的类名一致,即分割得到的两个窗口类名字和主视图类名一致。这样编译成功过一次,但是后来一直报错,错误的代码为“ CSplittestDoc * GetDocument();”,错误原因是“syntax error : missing ';' before * ”请问大神这是什么原因。
c:\splittestview.h(21) : error C2143: syntax error : missing ';' before '*'
c:\splittestview.h(21) : error C2501: 'CSplittestDoc' : missing storage-class or type specifiers
c:\splittestview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers
这是全部错误提示,都指向CSplittestDoc * GetDocument();这句代码,我其实什么也没做,这句代码是系统自己生成的,我就只是分割了窗口,其他的什么都没改,而且这个错误时存在时而消失,你可以自己在你的VC6.0下试试。谢谢您的耐心回答 展开
2个回答
展开全部
报这个错误的同时,应该不止一个error,你应该全部复制上来,好分析。
这个错误表明,在出错位置,不认识CSplittestDoc这个类,一般是View没有包含Doc头文件,当然,也不排除你其它可能问题,报错,要复制完整报错信息上来才好分析。
你这个错误和上面代码无关,应该是框架代码被删除,或者标准函数没有在正确位置使用造成的。
这个错误表明,在出错位置,不认识CSplittestDoc这个类,一般是View没有包含Doc头文件,当然,也不排除你其它可能问题,报错,要复制完整报错信息上来才好分析。
你这个错误和上面代码无关,应该是框架代码被删除,或者标准函数没有在正确位置使用造成的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询