c++ - 使用 Qt 缺少转换警告

标签 c++ qt warnings

下面的代码会产生一个警告:

警告 C4244:“正在初始化”:从“int64_t”到“int”的转换,可能会丢失数据

使用 CL 19(使用 -W3)。

#include <inttypes.h>
#include <climits>

int main() {  
  int64_t a = INT_MAX;
  int b = a+1;
}

然而,一旦我包含任何与 Qt 相关的内容,例如:

#include <QApplication>

警告消失。但我希望这些警告显示在我自己的文件中。这个 Qt 是否隐藏了自己泄漏到我的源代码中的警告?我可以避免吗?

最佳答案

一堆过于冗长的警告被 qglobal.h 禁用,它被几乎所有 Qt 头文件(间接地)包含在内。相关编码为here .

要重新启用它们,QT_CC_WARNINGS 添加到您的定义中(在 qmake 项目中,DEFINES += QT_CC_WARNINGS)。我很确定这会触发来自 Qt header 的警告...

关于c++ - 使用 Qt 缺少转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559212/

相关文章:

c++ - 如何将 CSV 文件导入 QTableWidget

delphi - dcc32警告UnloadProcs.pas(59):W1035函数“GetType”的返回值可能未定义

php - 使用PHP的“Notice: Undefined variable”,“Notice: Undefined index”和“Notice: Undefined offset”

c++ - "Undefined reference to"链接目标文件时出错

c++ - 从驱动程序制作一个 .h 文件,以便能够在 C++ 中使用驱动程序函数

c++ - 使用命令行参数创建结构 vector

c++ - 问题更改选项卡QTabWidget和QScrollArea Qt

c++ - 跟踪 QTreeView/QStandardItem 上的对象的正确方法是什么

c - 错误: Wrong comparison between pointer and integer

c++ - SPI_IOC_MESSAGE(N) 宏让我适应