gpt4 book ai didi

c++ - 将 LPTSTR 转换为长整型

转载 作者:行者123 更新时间:2023-11-30 21:23:02 24 4
gpt4 key购买 nike

我在尝试初始化长变量时遇到编译错误。

long return_val;

HKEY register_key;
LPTSTR REGISTRY_KEY_FM =
#if FDK_LIBRARY_VERSION==0x13000000
_T("RL13.FR.Document");
#elif FDK_LIBRARY_VERSION==0x09000000
_T("RL9.FR.Document");
#elif FDK_LIBRARY_VERSION==0x08000000
_T("RL80.FR.Document");
#endif


return_val = HKEY_CLASSES_ROOT, REGISTRY_KEY_FM, 0, KEY_QUERY_VALUE, &register_key);

最后一行的错误消息是““long”类型的值不能用于初始化 LPTSTR 类型的实体”

我正在使用 Visual Studio 2017,也尝试使用 Visual Studio 2013,但错误是相同的。但是在 VS 2010 中没有收到消息。VS 2013 和 VS2017 的编译器是否存在某些类型转换问题?如何解决这个问题?

最佳答案

您的预处理器调度缺少 #else。当库版本无法识别时,您将得到以下结果:

LPTSTR REGISTRY_KEY_FM = return_val = /* something */;

并尝试使用 long 类型的值初始化 LPTSTR

当您为新的库版本添加 typeid 时,还要添加以下行以防止将来出现此类问题:

#else
#error Unsupported FDK_LIBRARY_VERSION

关于c++ - 将 LPTSTR 转换为长整型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48668304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com