为什么 QT 应用程序中的最后一个错误始终为零?
SetLastError(23);
qDebug() << "LastError: " << GetLastError();
Run Code Online (Sandbox Code Playgroud)
预期输出:LastError:23
实际输出:LastError:0
我无法用谷歌搜索任何关于这个问题的信息。QT 是否有这些功能?
DWORD lastError = GetLastError();
qDebug() << "LastError: " << lastError;
Run Code Online (Sandbox Code Playgroud)
始终在 API 调用失败后立即获取最后一个错误。那些干预qDebug()
和operator<<
调用本身调用 Windows API 函数,这可能会也可能不会重置最后一个错误。