今天我听一个朋友说,在MFC里用API里的函数时,如果是全局变量就要加::,但是我没听明白,在什么样的情况下加::在什么情况下不要加.请高人指点一二.举个例子吧. if(::CopyFileW(pBuf2,pBuf,FALSE))
{
.....
}和
CopyFileW(pBuf2,pBuf,FALSE);都是在一个.CPP文件里,一样的函数为什么有的加,有的不加?
{
.....
}和
CopyFileW(pBuf2,pBuf,FALSE);都是在一个.CPP文件里,一样的函数为什么有的加,有的不加?
class A
{
public:
void CopyFileW(LPCTSTR,LPCTSTR,BOOL);
void Test(void);
};void A::Test(void)
{
::CopyFileW(...);//说明调用的是全局的CopyFileW而不是A::CopyFileW}
if(::CopyFileW(pBuf2,pBuf,FALSE)) //.h在头文件里未定义CopyFileW(..)
{
.....
} 和
CopyFileW(pBuf2,pBuf,FALSE);//在.h头文件里也没有定义那个CopyFileW(..)我右击CopyFileW,查看这个没加::在哪定义的,为什么跳到winbase.h这个系统文件里.也许我问的有点偏.能回答多少就回答多少吧.
如果MyClass::MyStaticFun()就表示是某个类的作用域
某具体研究,大概是这个意思