读书人

关于CDialog:和:要不要加的有关问题

发布时间: 2012-04-07 17:31:51 作者: rapoo

关于CDialog::和::要不要加的问题,不加的话程序编译没问题,但是运行的异常中断。加上了就没有问题了。

C/C++ code
::CloseHandle(hProcessSnap);CDialog::OnTimer(nIDEvent);

上面这两句代码,我想前面的::和CDialog::加不加无所谓吧,就删去了,编译没有问题,可是运行的程序直接异常中断。我又从新加上了,结果没有问题了。
这里面不知道::和CDialog::起了什么作用,麻烦各位大牛给解答一下

[解决办法]
::CloseHandle(hProcessSnap);
可以去掉,
CDialog::OnTimer(nIDEvent);
不可以去掉
[解决办法]
在MFC中调用API函数,最好使用::,这样的话编译器就知道你调用的是全局的API函数
[解决办法]
CDialog::OnTimer(nIDEvent);
是指定CDialog这个类的,不加的话调用是本身的OnTimer(nIDEvent);或者其他父类的的OnTimer(nIDEvent);

::CloseHandle(hProcessSnap);
::是指从全局作用域查找CloseHandle
不加是从局部作用域

读书人网 >C++

热点推荐