Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de destructeur.

Sujet résolu
    9 mai 2008 à 22:46:24

    Bonsoir,
    voilà j'ai une erreur du compilo, elle doit être super stupide mais je la vois pas.

    Voici l'erreur:
    D:\programmations\Logiciel>make
    mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory `D:/programmations/Logiciel'
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS
    _QMAIN -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.
    3.4\include\QtGui" -I"c:\Qt\4.3.4\include\QtGui" -I"c:\Qt\4.3.4\include" -I"." -
    I"c:\Qt\4.3.4\include\ActiveQt" -I"release" -I"." -I"c:\Qt\4.3.4\mkspecs\win32-g
    ++" -o release\main.o main.cpp
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS
    _QMAIN -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.
    3.4\include\QtGui" -I"c:\Qt\4.3.4\include\QtGui" -I"c:\Qt\4.3.4\include" -I"." -
    I"c:\Qt\4.3.4\include\ActiveQt" -I"release" -I"." -I"c:\Qt\4.3.4\mkspecs\win32-g
    ++" -o release\fichier.o fichier\fichier.cpp
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS
    _QMAIN -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.3.4\include\QtCore" -I"c:\Qt\4.
    3.4\include\QtGui" -I"c:\Qt\4.3.4\include\QtGui" -I"c:\Qt\4.3.4\include" -I"." -
    I"c:\Qt\4.3.4\include\ActiveQt" -I"release" -I"." -I"c:\Qt\4.3.4\mkspecs\win32-g
    ++" -o release\page_alternatif.o menu\page_alternatif.cpp
    menu\page_alternatif.cpp:36: error: expected constructor, destructor, or type co
    nversion before '::' token
    menu\page_alternatif.cpp:36: error: expected `,' or `;' before '::' token
    mingw32-make[1]: *** [release/page_alternatif.o] Error 1
    mingw32-make[1]: Leaving directory `D:/programmations/Logiciel'
    mingw32-make: *** [release] Error 2


    Tab_MainMenu::~Tab_MainMenu()
    {
    	delete tab_mainMenu;
    	delete gridLayout;
    	delete label_titre_menu;
    	delete label_creativeCommons;
    	delete pixmap_creativeCommons;
    }
    


    que pouvez-vous m'en dire?

    merci
    • Partager sur Facebook
    • Partager sur Twitter
    :)
      9 mai 2008 à 23:03:30

      Tu n'as pas inclus ce qu'il fallait ?
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        9 mai 2008 à 23:10:49

        si..

        /*
        page_alternatif.h
        ------------
        */
        
        #ifndef H_ALTERNATIF_PAGE_H
        #define H_ALTERNATIF_PAGE_H
        
        #include <QWidget>
        #include <QPushButton>
        #include <QGridLayout>
        #include <QLabel>
        #include <QFont>
        #include <QString>
        
        #include "alternatif/a_intensite/a_tab_intensite.h"
        #include "alternatif/a_tension/a_tab_tension.h"
        #include "alternatif/a_facteurPuissance/a_tab_facteurPuissance.h"
        
        #include "../index.h" // toutes les definitions, ...
        
        class PageAlternatif : public QWidget {
        
        	Q_OBJECT
        
        	public:
        		PageAlternatif(QWidget *parent=0);
        		~PageAlternatif();
        
        	private slots:
            	void a_showIntensite();
            	void a_showTension();
        		void a_showFacteurPuissance();
        
        	private:
        		QLabel *label_titre_alternatif;
        		QPushButton *pageAlternatif_intensite, *pageAlternatif_tension, *pageAlternatif_facteurPuissance;
        		QGridLayout *pageAlternatif_gridLayout, *B_pageAlternatif_gridLayout;
        
        		a_TabIntensite *a_i_intensite;
        	    a_TabTension *a_t_tension;
        		a_TabFacteurPuissance *a_facteurPuissance;
        
        };
        
        #endif
        

        /*
        page_alternatif.cpp
        ------------------
        */
        
        #include "page_alternatif.h"
        
        PageAlternatif::PageAlternatif(QWidget *parent) :  QWidget(parent), a_i_intensite(0), a_t_tension(0), a_facteurPuissance(0)
        {
        	label_titre_alternatif = new QLabel("<h2 align=\"center\">Courant alternatif sinusoïdale</h2>");
        	
        	a_i_intensite      = new a_TabIntensite(this);
        	a_t_tension        = new a_TabTension(this);
        	a_facteurPuissance = new a_TabFacteurPuissance(this);
        	
        	pageAlternatif_intensite         = new QPushButton("Intensité");
        	pageAlternatif_tension           = new QPushButton("Tension");
        	pageAlternatif_facteurPuissance  = new QPushButton("Facteur de Puissance");
        
        	connect(pageAlternatif_intensite, SIGNAL(clicked()), this, SLOT(a_showIntensite()));
        	connect(pageAlternatif_tension, SIGNAL(clicked()), this, SLOT(a_showTension()));
        	connect(pageAlternatif_facteurPuissance, SIGNAL(clicked()), this, SLOT(a_showFacteurPuissance()));
        	
        	B_pageAlternatif_gridLayout = new QGridLayout;
        	B_pageAlternatif_gridLayout->addWidget(pageAlternatif_intensite, 0, 0);
        	B_pageAlternatif_gridLayout->addWidget(pageAlternatif_tension, 0, 1);	
        	B_pageAlternatif_gridLayout->addWidget(pageAlternatif_facteurPuissance, 1, 0);
        	
        	pageAlternatif_gridLayout = new QGridLayout;
        	pageAlternatif_gridLayout->addWidget(label_titre_alternatif, 0, 0);
        	pageAlternatif_gridLayout->addLayout(B_pageAlternatif_gridLayout, 1, 0);
        	
        	setLayout(pageAlternatif_gridLayout);
        }
        
        Tab_MainMenu::~Tab_MainMenu()
        {
        	delete tab_mainMenu;
        	delete gridLayout;
        	delete label_titre_menu;
        	delete label_creativeCommons;
        	delete pixmap_creativeCommons;
        }
        
        void PageAlternatif::a_showIntensite()
        {
        	a_i_intensite->show();
        }
        
        void PageAlternatif::a_showTension()
        {
        	a_t_tension->show();
        }
        
        void PageAlternatif::a_showFacteurPuissance()
        {
        	a_facteurPuissance->show();
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
        :)
          10 mai 2008 à 0:12:15

          OK. Je ne vois donc pas la déclaration de ce qui est rejeté, mais celle d'une autre classe.
          • Partager sur Facebook
          • Partager sur Twitter
          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
            10 mai 2008 à 0:24:49

            Ben oui, tu crées une classe "PageAlternatif"
            mais ton destructeur c'est "~Tab_MainMenu",
            or le destructeur doit avoir le même nom que la classe...
            Un copier-coller mal remplacé ?
            • Partager sur Facebook
            • Partager sur Twitter

            problème de destructeur.

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown