c++ - QLongLong 奇怪比较

标签 c++ qt

我需要使用两个 QLonglong 来比较我硬盘上的一些可用空间我使用这段代码面对这种行为:

if(deviceSize < size);
{
    qDebug() << "The device" << device << "has only" << deviceSize << "bytes left";
    qDebug() << (deviceSize < size) << deviceSize << size;
}

哪些输出:

The device "disk1s2" has only 217528172544 bytes left 
false 217528172544 998054018

作为条件(deviceSize < size)返回 false 我什至不明白它是如何进入 if() 的?

最佳答案

您的问题在这里:

if(deviceSize < size);
//                   ^

这意味着无论您有什么条件,该 block 都将始终执行,因为您的条件语句为空。

关于c++ - QLongLong 奇怪比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23811631/

相关文章:

c++ - 为Qt添加编译标志以使用mysql

c++ - 标准化之前多长时间 `string` 可用?

c++ - 现代 C++ 中具有可选成员的结构

c++ - 在 VC++ MFC 中创建另一个鼠标光标

c++ - 如何使用 xmlsec 和 CSP 对 XML 进行签名?

css - QTableView 小部件的 Qt 样式表中有哪些可用选项?

c++ - 仅允许在 QDoubleValidator 的范围内进入 QLineEdit

c++ - QImage保存使用时返回false~

c++ - 如果从QRunnable或其他线程调用Qt信号和插槽,则它们不起作用

c++ - Qt 隐藏空的子菜单