未声明的标识符"QVariant"将旧版Qt 4转换为5
Undeclared identifier 'QVariant' convert legacy Qt 4 to 5
我需要将QT遗产代码从4.7转换为5.8,我在QT Creator 4.2.1 Clang 7.0(Apple)64bit
中有一个编译错误查找.cpp文件
bool queries::insert(const QString &tableName_, const QMap<QString, QVariant> &values_) const
.cpp中的错误./src/classes/queries.cpp:283:15:错误:'insert'''的管行定义与指向'insert'insert'
在标题文件中查看
bool insert(const QString &tableName_, const QMap<QString, QVariant> &values_) const;
.h中的错误../src/classes/queries.h:157:64:错误:使用未宣布的标识符'qvariant'错误指向'qvariant>'
找到了类似的stackoverflow查询
好...那么替换是什么?
解析定义时, QVariant
是已知类型。但是,当声明被解析时,QVariant
尚不清楚。因此,声明无效,编译器不能忽略它。
将#include <QVariant>
添加到标题文件以解决该问题。
它破裂了,因为某些QT标头曾经包含<QVariant>
,并且您隐含地依赖于此。随着QT的更新,此类相互依赖性被最小化,现在仅包括在自由式翻译单元中编译时使其有效的最低限制。因此,您破裂的代码已暴露出来。
相关文章:
- 将Qt Designer项目转换为C++代码
- Qt 将字符串转换为以 16 为基数的 int,但保留以 16 为基数的值
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- Qt - 将空指针(原始数据)转换为 QImage 并将其显示在标签上
- 在Qt中将QString转换为ASCII值,反之亦然
- 如何在Windows上将Qt QString转换为LPCTSTR
- 将Qt qml文件转换为位图图像
- 将 CRC uint 转换为 QByteArray QT - C++
- QT 创建器只会将第一个单词从文本编辑转换为纯文本
- QT中不允许使用一行多个转换,例如qString到char*
- C++ QList 中项目的 QT 强制转换到子类
- 编译错误 QT - 无法从类型强制转换
- 在"QUrl"中没有名为"addQueryItem"的成员 - 将Qt 4.7转换为5.8
- 未声明的标识符"QVariant"将旧版Qt 4转换为5
- 如何将Qt转换为C++
- 如何将 Qt 转换为 C#
- Qt转换为ObjectiveC代码
- gsoap 和 qt 转换变量内存句柄
- Qt/C++-转换原始二进制数据并将其显示为图像(即QImage)
- Qt转换ISO日期到QDate