Bonjour à tous,
Je continue mon petit programme de calcul des structures en béton, et comme vous vous en doutez, j'ai de nouveau un bug pour lequel j'ai quelques difficulté alors que je sais que c'est tout con.
j'ai en fait enregistré toutes mes variables issue de l'interface dans un tableau. Ce dernier est réutilisé pour effectuer tous les calculs et les résultats sont enregistré dans un nouveau tableau situé dans une classe annexe. J'utilise donc un accesseur pour récupérer ces valeurs pour l'afficher dans mon interface et là il bug.
mon tableau:
beton.h
leur code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef BETON_H_INCLUDED #define BETON_H_INCLUDED #include <string> #include <math.h> #include <QApplication> class Beton { public: Beton(); //blabla double gettabCalculAs(int x, int y); // accesseur des résultats private: double tabCalculAs [1][4]; // résultats
beton.cpp
méthode problématique de la MaFenetre.ccp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 using namespace std; #include "Beton.h" Beton::Beton() double Beton::gettabCalculAs(int x, int y) { return Beton::tabCalculAs[x][y]; } // tabCalculAs est remplit avec des variable de type "double"
Réponse du compilateur. la ligne 313 est la ligne en rouge ci-dessus. le probleme a la ligne 317 est un problème équivalent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Beton poutre; // nouvelle objet poutre void MaFenetre::calculBeton() { //blabla double i = poutre.gettabCalculAs[0][0]; //--> ligne problématique QString iQ.setNum(i); m_As->setText(iQ); // j'affiche la valeur dans un QLineEdit //blabla }
D:\c++\beton>mingw32-make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/c++/beton'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt
\2010.04\qt\include\QtCore" -I"c:\Qt\2010.04\qt\include\QtGui" -I"c:\Qt\2010.04\
qt\include" -I"." -I"c:\Qt\2010.04\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.
04\qt\mkspecs\win32-g++" -o debug\Beton.o Beton.cpp
Beton.cpp: In member function 'double Beton::classAcier(std::string)':
Beton.cpp:62: warning: control reaches end of non-void function
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt
\2010.04\qt\include\QtCore" -I"c:\Qt\2010.04\qt\include\QtGui" -I"c:\Qt\2010.04\
qt\include" -I"." -I"c:\Qt\2010.04\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.
04\qt\mkspecs\win32-g++" -o debug\MaFenetre.o MaFenetre.cpp
MaFenetre.cpp: In member function 'void MaFenetre::calculBeton()':
MaFenetre.cpp:313: error: invalid types '<unresolved overloaded function type>[i
nt]' for array subscript
MaFenetre.cpp:317: error: invalid types '<unresolved overloaded function type>[i
nt]' for array subscript
mingw32-make[1]: *** [debug/MaFenetre.o] Error 1
mingw32-make[1]: Leaving directory `D:/c++/beton'
mingw32-make: *** [debug] Error 2
En vous remerciant d'avance ^^
Partager