返回QML的空指针在条件语句中为true

时间:2017-03-25 04:14:26

标签: c++ qt null qml qvariant

调查崩溃我发现非QObject派生的已注册元类型总是通过if (obj)检查,即使它包含nullptr

输出返回值为QVariant(Base*)而不是null

我怀疑QVariant::isNull()在这里可能有用:

  

如果这是null变量,则返回true,否则返回false。一个变种是   如果它包含默认构造值或a,则视为null   内置类型实例,有一个isNull方法,在这种情况下   结果与在包装对象上调用isNull相同。

我认为nullptr应该符合“默认构造值”,但它似乎不会被QML中的条件语句选中。

那么也许可以通过免费功能实现检查?或许我在这里看一个错误?

更新:它被视为critical bug

0 个答案:

没有答案