Bonjour,
dans le code que je suis actuellement en train de développer, je souhaite partager une mémoire (QVector<QVector<double>>) entre plusieurs fonctions. Malheureusement, je ne parviens pas à transférer les données. Pourriez-vous m'aider ? Merci d'avance.
mainWindow.h
mainWindow.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QVector<QVector<double>> m_elevResults;
Mes classes tabAnalysis et tabSchedule :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tab2 = new tabAnalysis(m_elevResults); tab3 = new tabSchedule(m_elevResults);
tabAnalysis.h
tabAnalysis.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class tabAnalysis tabAnalysis(QVector<QVector<double>> & elevResults, QWidget * parent) : QWidget(parent); public: compute(); private: QVector<QVector<double>> m_elevResults;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 tabAnalysis(QVector<QVector<double>> & elevResults, QWidget * parent) : QWidget(parent) { m_elevResults = elevResults; // Transfer elevResults internally to allow being accessed by all the member functions of the class } tabAnalysis::compute() { // Valorise elevResults (appelé en premier grâce à l'IHM) }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class tabSchedule tabSchedule(QVector<QVector<double>> & elevResults, QWidget * parent) : QWidget(parent); public: read(); private: QVector<QVector<double>> m_elevResults;Mon problème est que dans la fonction read de tabSchedule, le tableau est vide. J'ai l'impression que le fait de passer QVector en référence ne permet à la fonction compute de tabAnalysis d'écrire dans elevResults.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 tabSchedule.cpp tabSchedule(QVector<QVector<double>> & elevResults, QWidget * parent) : QWidget(parent) { m_elevResults = elevResults; // Transfer elevResults internally to allow being accessed by all the member functions of the class } tabSchedule::read() { // Lit elevResults (appelé en second grâce à l'IHM) }
Partager