/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Instansiering af Template-klasse
Fra : SørenKJ


Dato : 17-11-01 16:05

hej,

Hvis jeg instansierer en template-klasse i en anden fil (end den cpp-fil, i
hvilken template-klassen er defineret), får jeg en linke-fejl (fra MS VC++).

hvad bør jeg gøre? (bør man inkludere en cpp-fil?)

vh Søren



 
 
Jonas Meyer Rasmusse~ (17-11-2001)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 17-11-01 17:18

Det hedder sig vistnok at når man bruger templates,
skal man sørge for at både erklæringen og implementationen af funktionen
ligger
i header-fil, således enhver der inkluderer den kan instantiere dine
templates.

Mvh Jonas



SørenKJ (18-11-2001)
Kommentar
Fra : SørenKJ


Dato : 18-11-01 08:33


Jonas Meyer Rasmussen wrote in message <9t62iv$945$1@eising.k-net.dk>...
>Det hedder sig vistnok at når man bruger templates,
>skal man sørge for at både erklæringen og implementationen af funktionen
>ligger
>i header-fil, således enhver der inkluderer den kan instantiere dine
>templates.

ok, men så er der det problem, at vc nægter at oversætte .h-filer..

vh Søren



Jonas Meyer Rasmusse~ (18-11-2001)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 18-11-01 11:59

Du kan jo prøve at komme med et simpelt eksempel på hvad den nægter
og oversætte?
Det er rigtigt at VC har nogle problemer med specialisering af templates,
men
det er sikkert ikke det som er dit problem?
Mvh
Jonas



SørenKJ (19-11-2001)
Kommentar
Fra : SørenKJ


Dato : 19-11-01 08:38


Jonas Meyer Rasmussen wrote in message <9t84aa$eu$1@eising.k-net.dk>...
>Du kan jo prøve at komme med et simpelt eksempel på hvad den nægter
>og oversætte?


Det er simpelthen alle filer med endelsen '.h'

Men der er ikke noget problem, for jeg kan bare definere klassen i
..cpp-filen og så inkludere .cpp-filen. Det er måske bare ikke så pænt, hvis
standarden er som du siger.

vh Søren



Thomas Krog (19-11-2001)
Kommentar
Fra : Thomas Krog


Dato : 19-11-01 12:49

Du skal heller ikke sætte den til at oversætte .h filer. Det kan fx. gøres
sådan:

---------a.h------------
template<class A>class Test{};

---------b.cpp-----------
#include "a.h"
Test<int> bUser;

---------c.cpp--------------
#include "a.h"
Test<char> cUser;

Og nu kan du så nøjes med at oversætte cpp-filerne



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste