"char *" 类型的参数与 "LPCWSTR" 类型的参数不兼容

argument of type "char *" is incompatible with parameter of type "LPCWSTR"

我收到此错误:

argument of type "char *" is incompatible with parameter of type "LPCWSTR"

这是我的部分代码

void score(void)
{
    char s[128];
    sprintf_s(s, "Thread War! Hits:%d  Misses:%d", hit, miss);
    SetConsoleTitle(s);
    ...
}

如何解决这个问题?

您正在使用定义的 UNICODE 宏进行构建,这意味着所有函数都默认为其等效的宽字符。因此,当您调用 SetConsoleTitle 时,它实际上是一个扩展为 SetConsoleTitleW.

的宏

宽字符的类型为 wchar_t,与 char 不兼容。

您要么必须显式调用 SetConsoleTitleA,删除 UNICODE 的定义,要么开始使用 TCHAR 和相关类型和宏。