QMap<int,QString>::size”: 非标准语法;请使用 "&" 来创建指向成员的指针
时间: 2024-03-09 20:50:46 浏览: 126
QHash比QMap的查找速度要快-hi3518e 数据手册
编译器提示这个错误的原因是,你在访问 QMap 对象中的 size() 方法时,使用了非标准语法。正确的语法是使用 "&" 符号来创建指向成员的指针。具体实现方法如下:
```cpp
#include <QMap>
#include <QString>
int main() {
// 创建 QMap 对象
QMap<int, QString> map;
// 插入元素
map.insert(1, "apple");
map.insert(2, "banana");
map.insert(3, "orange");
// 访问元素
QString fruit = map.value(1); // fruit 的值为 "apple"
// 输出 QMap 大小
qDebug() << "QMap size: " << &QMap<int, QString>::size;
return 0;
}
```
在上述代码中,我们创建了一个 QMap 对象,并使用 insert() 方法向其中插入三个元素。我们可以使用 value() 方法来访问某个键对应的值。在输出 QMap 大小时,我们使用了 & 符号来创建指向 QMap 类中 size() 方法的指针,并将其传递给 qDebug() 函数输出。这样就可以避免编译器提示的非标准语法错误了。
阅读全文