2010-07-04 7 views
0

Salut quand je tente d'exécuter du code C++ je reçois l'erreur suivanteerreur de définition multiple en C++

mainwindow.h

class MainWindow 
{ 


    public: 
    MainWindow(); 
    ~MainWindow(); 
    method(); 
}; 

et

mainwindow.cpp

#include mainwindow.h 
MainWindow::MainWindow(){ 
    //some code here 

} 

MainWindow::~MainWindow(){ 
    //some code here 

} 
MainWindow::method(){ 
    //some code here 

} 

quand je compile cela de l'eclipse cdt j'ai eu l'erreur en disant plusieurs defi ntion de MainWindow::method(). Est-ce la bonne façon ou IAM faire quelque chose de mal. Quelqu'un peut-il m'aider s'il vous plaît quoi faire?

+1

besoin d'afficher plus code- ce n'est pas l'erreur. – Puppy

+5

Où sont vos types de retour? – Skilldrick

+1

Où est le type de retour de 'method()' que vous avez déclaré à l'intérieur de la classe dans votre fichier d'en-tête? –

Répondre

3

Il semble que vous incluez votre tête dans plusieurs cpp, et il n'a pas la garde empêchant de multiples comprend, comme pragma once ou

#ifndef MainWindow_h 
#define MainWindow_h 
class MainWindow 
{ 


    public: 
    MainWindow(); 
    ~MainWindow(); 
    method(); 
}; 
#endif 
+0

Non, cela conduirait à une erreur différente (redéfinition de 'class MainWindow'). – melpomene