为什么在C ++中,我们使用SetCursorPos(10,20);而不是BOOL SetCursorPos(10,20);为什么会引发编译错误?

问题描述 投票:0回答:1

为什么在C ++中我们使用SetCursorPos(10,20);而不是BOOL SetCursorPos(10,20);?为什么第二个抛出编译错误? MSDN规范说要使用BOOL,为什么不好呢?

c++
1个回答
0
投票

通过查看MSDN docs,您可以看到它的功能声明为:

BOOL SetCursorPos(int X, int Y);

这意味着函数采用两个整数参数并返回布尔结果。

返回值表示呼叫成功或失败。

如果您尝试键入:

BOOL SetCursorPos(10, 20);

这没有什么意义,因为最初的'BOOL'应该用于声明一个变量来存储结果。您可以执行以下操作:

 BOOL result = SetCursorPos(10, 20);
 if (result == 0) {
     std::cout << “failed to set cursor position”;
 }

或者,如果您不关心返回值,您就不能像这样进行任何操作:

 SetCursorPos(10, 20);
© www.soinside.com 2019 - 2024. All rights reserved.