C++ error: redefinition of 'void Klasyfikator::iloscDecyzji(int&)'
Ostatnio zmodyfikowano 2013-01-09 21:18
Sztucznooki Temat założony przez niniejszego użytkownika |
C++ error: redefinition of 'void Klasyfikator::iloscDecyzji(int&)' » 2013-01-09 21:18:47 Witam. Kolejny z moich "super-trudnych" problemów :/ Podczas próby kompilacji kompilator wywala C:\~\Klasyfikator R1\Klasyfikator.cpp|6|error: redefinition of 'void Klasyfikator::iloscDecyzji(int&)'| Kod Klasyfikator.cpp #include <vector> #include "Klasyfikator.h"
void Klasyfikator::iloscDecyzji( int & ilosc_decyzji ) { vector < int > widziane_decyzje; int numer_kolumny; cout << "Podaj numer komlumny, w ktorej sa decyzje." << endl; cin >> numer_kolumny; numer_kolumny -= 1; for( unsigned int i = numer_kolumny; i < dane.liczby.size(); ); };
Kod Klasyfikator.h #ifndef KLASYFIKATOR_H #define KLASYFIKATOR_H #include "Dane.h"
using namespace std;
class Klasyfikator { public: Dane dane; int ilosc_decyzji; void iloscDecyzji( int & ilosc_decyzji ); };
#endif
nie mogę znaleźć błędu :/ PS przydałby się jednak przycisk "code" zeby mozna było brać wszystko w kod. znowu zapomniałem formułki :( albo chociaż przyklejony post z "komendami" do formatowania :/ --------------------------- EDIT do zamknięcia Problem tkwił całkiem gdzieś indziej. Zamiast: #include "Klasyfikator.cpp" Trzeba było napisać: #include "Klasyfikator.h" w pliku main.cpp i jakaś taka czyjaś złota myśl z tematu poniżej #include "source.cpp" Zapamiętaj to sobie: plików .cpp/.cxx/.c NIGDY nie inkludujemy. Takie pliki są wtedy kompilowane kilkukrotnie, a gdy linker ma połączyć takie moduły, to widzi po prostu kilku identycznych funkcji - nie wie dokąd ma dopasować konkretne wywołanie funkcji/metody odniesienie się do obiektu globalnego/statycznego - i sygnalizuje błąd (następuje wieloznaczność). |
|
« 1 » |