您好,我在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;
关于c++ - 如何从另一个C++类访问结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31964211/