控制台程序调用API函数要不要加两个冒号?

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:57:38
本人刚开始学习windows编程,照着书上的例子编写了一道程序,就是最简单的hello world.是在控制台下编写的,然后调用MessgaeBox函数输出一个对话框.书上调用MessageBox函数时前面加了两个冒号,说表示这是一个全局函数,以与C++类的成员函数相区别,可是我照着做了,在编译时却无法通过.后来,我把这两冒号去掉了,编译通过,运行正常.上网查了下,很多朋友也和书上说的一样.我不知道是要在MFC下编程时在API函数前加两个冒号还是在win 32 application下需要加冒号,是不是在控制台下编写的程序是不用加的?希望懂的朋友能说一下.不胜感激!!!
哦,谢谢两位的回答.那我再问一句,既然在控制台下调用API默认是全局的,那我加上;;也没有错啊.为什么编译通不过呢?就象声明长整型,long和long int是一样的,是不是需要设置一下?我用的是vc6.0.

可加可不加

要调用的头文件包含就可以了
除非,你在类里面使用函数,刚好类的成员函数名和API名字一样时,你才可两个冒号

控制台下编写,用的直接是WINDOWS的API编写,默认作用域就是::也就是全局的,所以不需要写::符号,在MFC中,由于CWnd类封装了MessageBox函数,将第一个参数HWND指定为自己,所以在MFC中,如果需要自己指定父窗口就需要调用::MessageBox表示调用全局的函数来自己指定父窗口。