[英]C++ Accessing class variable from another class
我有一个名为 MineData 的类:
class MineData {
private:
int row = 10;
int col = 20;
public:
MineData() {
std::vector<std::vector<int>> data (col, std::vector<int>(row, 0));
}
}
我有一个名为 Grid 的类:
class Grid : public QWidget {
MineData mineData;
QPushButton *btn = new QPushButton(mineData.data, this);
}
所以我想从 MineData 类访问 Grid 类中的数据变量,但是当我这样做时
mineData.data
我收到一个错误:
“MineData”类没有“数据”成员
我究竟做错了什么?
您当前已在MineData
的构造函数MineData
data
声明为局部变量。 相反,您需要将其设为成员变量。 然后,您可以在初始化列表中实例化它。
class MineData {
private:
int row = 10;
int col = 20;
public:
vector<vector<int>> data;
MineData(): data(col, vector<int>(row, 0)) { }
};
需要将矢量data
添加为类字段。 现在它在MineData
类构造函数中作为临时变量构造,并在构造函数完成后将其移除。
class MineData {
private:
int row = 10;
int col = 20;
public:
MineData() {
data.resize(col, std::vector<int>(row, 0));
}
std::vector<std::vector<int>> data
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.