"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
和相关类型和宏。
我收到此错误:
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
和相关类型和宏。