2010-07-04 2 views
0

Привет, когда я пытаюсь запустить C++ код я получаю следующую ошибкуошибка Multiple определение в C++

mainwindow.h

class MainWindow 
{ 


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

и

mainwindow.cpp

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

} 

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

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

} 

, когда я скомпилировать это от eclipse cdt, я получил ошибку, говорящую о множественном defi ntion MainWindow::method(). Правильно ли это, или я делаю что-то неправильно. Может ли кто-нибудь помочь мне, что делать?

+1

нужно размещать более код- это не ошибка. – Puppy

+5

Где ваши обратные типы? – Skilldrick

+1

Где тип возвращаемого метода 'method()', который вы указали внутри класса в своем заголовочном файле? –

ответ

3

кажется, что вы включаете свой заголовок в нескольких CPP, и он не имеет охранника, препятствующий кратный включает в себя, как pragma once или

#ifndef MainWindow_h 
#define MainWindow_h 
class MainWindow 
{ 


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

Нет, это приведет к другой ошибке (переопределение класса MainWindow). – melpomene

Смежные вопросы