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

时间:2015-11-13 18:17:12

标签: c++ winapi char intellisense lpcwstr

我收到此错误:

  

类型" char *"的参数与" LPCWSTR"

类型的参数不兼容

这是我的代码的一部分

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您在定义UNICODE宏的情况下进行构建,这意味着所有函数都默认为其宽字符等效项。因此,当您致电SetConsoleTitle时,实际上这是一个扩展为SetConsoleTitleW的宏。

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

您必须明确调用SetConsoleTitleA,删除UNICODE的定义,或者开始使用TCHAR及相关类型和宏。