为啥C++里面调用API的时候,有的API前需要加双冒号,有的不需要加
求教比如调用::GetWindowRect(gameh,&r1)函数的时候需要加,调用SetCursorPos(655+r1.left,577+r1.top)函数的时候不...
求教比如调用::GetWindowRect(gameh,&r1) 函数的时候需要加,调用SetCursorPos(655+r1.left,577+r1.top)函数的时候不需要加
那如何得知一个API是否被MFC封装?难道用编译看是否有错误的方法吗? 展开
那如何得知一个API是否被MFC封装?难道用编译看是否有错误的方法吗? 展开
2个回答
展开全部
这是个命名空间问题,
因为GetWindowRect
有两个这样名称的函数,
一个是
API
BOOL
GetWindowRect(
HWND
hWnd,
LPRECT
lpRect
);
另外一个类成员变量void
CWnd::GetWindowRect(
LPRECT
lpRect
)
const;
当有多个相同名字的函数时,需要特别指定是那个命名空间的函数,::代表全局,再如其他命名空间
std::vector<int>
v,
而SetCursorPos
只有一个这样名字函数,就可以省了呀
因为GetWindowRect
有两个这样名称的函数,
一个是
API
BOOL
GetWindowRect(
HWND
hWnd,
LPRECT
lpRect
);
另外一个类成员变量void
CWnd::GetWindowRect(
LPRECT
lpRect
)
const;
当有多个相同名字的函数时,需要特别指定是那个命名空间的函数,::代表全局,再如其他命名空间
std::vector<int>
v,
而SetCursorPos
只有一个这样名字函数,就可以省了呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询