gpt4 book ai didi

c++ - 当代码具有从 char 到 wchar_t 的显式转换或反之亦然时,要求 vc++ 编译器显示编译器警告

转载 作者:行者123 更新时间:2023-11-28 06:10:03 24 4
gpt4 key购买 nike

我有什么办法让 vc++ 编译器在以下情况下遇到显式 C 样式强制转换时显示警告:

  • wchar_t 到 char,反之亦然
  • LPWSTR 到 LPCSTR,反之亦然

我在使用 vc++ 编译器编译应用程序时打开了 UNICODE 标志,我想避免由于这些转换而导致的运行时错误。

不幸的是,代码库很大,我不想手动搜索转换并在它们无效时将其过滤掉。我确实尝试搜索这方面的文档,但没有找到任何有用的信息。

最佳答案

1- 打开项目属性并将警告级别设置为 4。2- 从 wchar_t 到 char 的转换将被警告,因为您正试图将大数据转换为小数据(警告 4244)。3- 从 char 到 wchar_t 的转换只有当你没有设置 unsigned chars on(option/J) 时才会被警告,在这种情况下 char 是一个有符号类型并且将它转换为 unsigned 会产生警告(警告 4245)。

编辑:这适用于隐式转换。没有编译器帮助来检测显式合法转换

关于c++ - 当代码具有从 char 到 wchar_t 的显式转换或反之亦然时,要求 vc++ 编译器显示编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31451754/

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