Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc oko povezivanja fajlova

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc oko povezivanja fajlova

[ Pregleda: 2164 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon pomoc oko povezivanja fajlova16.01.2010. u 22:33 - pre 139 meseci
Trenutno radim zadatak u kojem trebam napraviti genericku klasu skup. Kada sam ga napisao u istom fajlu radi bez problema. Kada ga razdvojim u 3 fajla: skup.h skup.cpp i main.cpp javlja se problem u povezivanju
[Linker error] undefined reference to `Skup<char, 50>::Skup()' i tako za svaku f-ju.
Povezivanje fajlova sam napravio na nacin kako sam i ranije povezivao u drugim programima sa include "skup.h".
Moze li mi neko pomoci posto ne znam da li postoji neka razlika jer je rijec o generickim klasama?

Dio koda izgleda ovako:
Code:

main.cpp
#include <iostream>
#include "skup.h"
#include <string.h>
using namespace std;

main(){
       Skup<char,50> Slova;
             ...
skup.cpp
#include <iostream>
#include "skup.h"
using namespace std;
template <class T, int N>
Skup<T,N>:: Skup () {
                ....
skup.h
#ifndef SKUP_H
#define SKUP_H
#include<iostream>
using std::ostream;
using std::istream;
using namespace std; 

template <class T, int N>
class Skup{
 .....
};
#endif
 
Odgovor na temu

GORSHTAK
Ivan Matić

Član broj: 136182
Poruke: 285
93.86.202.*



+5 Profil

icon Re: pomoc oko povezivanja fajlova17.01.2010. u 11:59 - pre 139 meseci
Stavi ceo kod, mada probaj ovo, mislim da sam davno imao takvih problema, ne mogu sada da proveravam, posebno ne bez koda

Code:

main.cpp

#include "skup.h"
#include <string.h>
#include <iostream>
using namespace std;
-----

skup.cpp

#include "skup.h"
#include <iostream>
using namespace std; 
------

skup.h
#ifndef SKUP_H
#define SKUP_H
#include<iostream>
using std::ostream;
using std::istream;
using namespace std; 


Ukratko, da ti se #include "skup.h" ne nađe između #include <iostream> i using namespace std;
 
Odgovor na temu

drki89
Igor Drljić
Prhovo

Član broj: 127027
Poruke: 56
*.mbb.telenor.rs.



+4 Profil

icon Re: pomoc oko povezivanja fajlova19.01.2010. u 20:48 - pre 139 meseci
Kod genericke klase treba da bude smesten u .h datoteku zato sto se taj kod koristi pri generisanju klase kada se zada konkretni tip. Ako to stavis u .cpp datoteku prevodilac ce pokusati da prevede taj kod, a to nema smisla jer se u trenutku prevodjenja ne zna tip parametra na osnovu kog se generise klasa.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc oko povezivanja fajlova

[ Pregleda: 2164 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.