Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » templates

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.03.2006, 19:33 Uhr
Antialc



Hi,

ich wollte (sollte) mir mal ne myVector Klasse mit templates schreiben.
Und jetzt bin ich am verzweifeln.
Ich erhalte die ganze Zeit die schlimmste aller Fehlermeldungen: Nicht aufgelöstes externes Symbol.
Für jede Methode die ich in der myVector Klasse aufrufe eine Fehlermeldung.
Ich habe es auch schon mit dem Beispiel hier im Forum probiert. Aber immer noch das gleiche.

Wenn ich aus der template klasse eine normale Klasse mache funktioniert alles herlich.
Oder wenn ich den Inhalt aus der header und der cpp einfach über die main schiebe geht auch alles.
Doch sobald ich eine template Klasse habe die ich über include einbinde meckert er.

main:

C++:
#include "RingBuffer.h"

int main()
{
    newVector<int> a;

    return 1;
}




header:

C++:
#pragma once

template <class Typ>
class newVector
{
public:
    newVector();
};




.cpp

C++:
#include "RingBuffer.h"

template <class Typ>
newVector<Typ>::newVector()
{
}


Mehr steht da wirklich net.

Die unterschiedlichen Namen kommen wegen dem Beispiel was ich ausprobiert hab ;-).

Fehlermeldung:
Ringbuffer error LNK2019: Nicht aufgelöstes externes Symbol '"public: __thiscall newVector<int>::newVector<int>(void)" (??0?$newVector@H@@QAE@XZ)', verwiesen in Funktion '_main'
--
Microsoft Visual C++.NET Version 7

Dieser Post wurde am 09.03.2006 um 19:35 Uhr von Antialc editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.03.2006, 19:58 Uhr
predator



Das ist in letzter Zeit schon öfters gefragt worden, such einfach mal danach.
Kurz: Du darfst Templates-Deklaration und -Definition nicht über mehrere Dateien verteilen.
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.03.2006, 20:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


um die suche abzukürzen: templates müssen immer in den header. also auch die funktions"ausarbeitungen"
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.03.2006, 15:30 Uhr
Antialc



Ich dachte ich hätte mal gehört, dass das mit dem siebener Studio jetzt möglich seie.
--
Microsoft Visual C++.NET Version 7
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.03.2006, 16:50 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja sie gehen nun endlich, d.h trotzdem nur das das 7er ausnahmsweise dem standard folgt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: