如何从另一个c++类访问一个结构体

How to access a struct from another another C++ class?

本文关键字:一个 结构体 访问 另一个 c++      更新时间:2023-10-16

你好,我有一个结构在TreeItem类:

// TreeItem.h
class TreeItem
{
public:
  struct TreePair
  {
    QString   sa_key;
    QVariant  sa_value;
  };
  //... blabla
}

我想从另一个类TreeModel中访问结构体TreePair,这个类的头文件中已经形成了TreeItem类:

// TreeModel.h
class TreeItem;
class TreeModel : public QAbstractItemModel
{
    Q_OBJECT
    //..
}
// TreeModel.cpp
TreeModel::TreeModel(const QStringList &headers, const QString &data, QObject *parent)
  : QAbstractItemModel(parent)
{
  QVector<TreePair> rootData; // TreePair was not declared in this scope
}

我的strcut没有在这个作用域中声明??在每个类中,它已经被自动设置为

#ifndef _TREEITEM_H
#define _TREEITEM_H
#endif

由于TreePair嵌套在TreeItem中,因此需要

QVector<TreeItem::TreePair> rootData;