📄 subject_19049.htm
字号:
<p>
序号:19049 发表者:流浪 发表日期:2002-10-25 11:13:07
<br>主题:请教大家一个很菜的问题:illegal call of non-static member function,
<br>内容:我在调用另一个工程中的一个函数的时候,编译信息为:illegal call of non-static member function,这种错误应该如何排除啊?先谢了!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-25 11:20:07
<br>内容:可能是你的静态函数调用了非静态函数<BR>在静态函数中只能访问静态或全局函数,静态或全局变量
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流浪 回复日期:2002-10-25 11:41:50
<br>内容:那么,要是我想在单击一个按钮(该按钮在工程TestMyEdit的一个对话框中)后,调用int CMyEditCtrl::SetSel(int nStart,int nEnd)函数,该函数是另一个工程中的。我该如何调用?谢了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-25 11:47:47
<br>内容:不同的工程属于不同的程序啊<BR>你不能调用另一个工程的类的函数啊<BR>你应该将CMyEditCtrl类加入到你调用的工程来使用
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流浪 回复日期:2002-10-25 11:49:41
<br>内容:我已经将另外的工程加到我的工程里来了。可结果就是那样的啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-25 12:02:44
<br>内容:哪也没用啊,不是将工程加进来<BR>是将CMyEditCtrl类文件加入到你的调用工程中来<BR>你是刚用VC吧<BR>你应该先将C++在熟悉一下吧,这是很基本很简单的问题
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流浪 回复日期:2002-10-25 12:40:26
<br>内容:是的,我是刚接触vc,我刚才发现了我才错误所在,是因为我直接通过类来应用函数,应该是通过类的对象来引用函数吧。错误已经改了,但是又出现了一个值的传递变化的问题。值已经正确了,可是对话框没有反映出值的变化。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-25 13:10:35
<br>内容:哪你应该将值更新到界面上去<BR>调用UpdateData(FALSE);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流浪 回复日期:2002-10-25 13:15:26
<br>内容:这个错无已经修改了,可是现在又有一个问题:当我在弹出的对话框中修改edit值后,单击确定按钮,想通过值来修改选定块信息。可以却弹出assert窗口:<BR>CPaintDC::CPaintDC(CWnd* pWnd)<BR>{<BR> ASSERT_VALID(pWnd);<BR>-》 ASSERT(::IsWindow(pWnd->m_hWnd));<BR><BR> if (!Attach(::BeginPaint(m_hWnd = pWnd->m_hWnd, &m_ps)))<BR> AfxThrowResourceException();<BR>}<BR><BR>单击,重试按钮。则打开跟踪窗口,跟踪到vc程序的wingdi.cpp文件,1064行。<BR><BR>程序报:必须的资源无法找到。我该如何修改onok函数啊?多谢你了!等我的问题解决完了给你加分!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-10-25 13:35:28
<br>内容:我不知道你的代码是怎样,所以也不号判别<BR>但可能是你在构造CPaintDC的对象时,不能正确的初始化<BR>比如你的窗口句柄为NULL或不合法,这你要好好检查
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流浪 回复日期:2002-10-25 13:35:46
<br>内容:我已经找到错误了,我应该用指针调用该函数,不是用对象来调用该函数。多谢了。分给你咯!以后还请多指教啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -