如何从另一个 C++ class 访问结构?

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

您好,我在 TreeItem 中有一个结构 class:

// TreeItem.h
class TreeItem
{
public:

  struct TreePair
  {
    QString   sa_key;
    QVariant  sa_value;
  };

  //... blabla
}

我想从另一个 class TreeModel 访问该结构 TreePair ,它的 class TreeItem 已经在其 header:

中形成
// 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 没有在此范围内声明??在每个 class 中它已经自动设置为

#ifndef _TREEITEM_H
#define _TREEITEM_H
#endif

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

QVector<TreeItem::TreePair> rootData;