在 Windows 的FormatMessage()函数中,参数:
_Out_ LPTSTR lpBuffer
正在努力。按照 Hart 的 Windows 系统编程书,我声明一个LPTSTR指针用作lpBuffer(例如LPTSTR errortext;),然后调用该FormatMessage()函数。
传入这个参数的正确方法是:(LPTSTR)&errorText
这工作正常。但我不明白为什么我需要写(LPTSTR)。我知道这是类型转换,我读过它,但这对我来说没有意义,因为我没有更改变量类型或任何东西,我将它声明为 anLPTSTR并且我将它的内存地址传递给函数,函数期望 anLPTSTR并且我将它传递给了LPTSTR,那么为什么我需要将(LPTSTR)其作为lpBuffer参数的一部分呢?