【发布时间】:2021-01-09 09:57:38
【问题描述】:
我正在尝试修改旧插件以创建新插件(在 C++ 和 Visual Studio 2019 中)。编译时出现以下错误,将 TEXT 标记为红色。
E0144:“const wchar_t *”类型的值不能用于初始化 LPTSTR 类型的实体
LPTSTR process_name = TEXT("rFactor2.exe");
module_address = GetModuleBase(process_name, pID);
我调查并看到一个类似的帖子暗示了这一点:
LPTSTR process_name = foo(TEXT("rFactor2.exe"));
现在我收到以下错误:
E0020:未定义标识符“foo”
谁能告诉我如何创建 LPTSTR 格式的变量(这是GetModuleBase 期望的类型)?
【问题讨论】:
-
这能回答你的问题吗? How to convert from wchar_t to LPSTR?
-
非常感谢。但是为了尝试这个,我遇到了类似的问题:值类型“const char*”不能用于启动实体“LPTSTR”类型
-
您正在尝试将
const TCHAR*(LPCTSTR) 分配给非 const 的 (LPSTR),而在 c++ 中则不能。尝试将 process_name 声明为 LPCTSTR This answer 会有所帮助