Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#1

[VS 2003] Probleme mit template-Klassen + globalen Operators

  Alt 6. Jul 2005, 13:54
Hi,

ich habe aktuell das Problem, daß ich eine Template-Klasse habe:
Code:
   template<class T>
   class TGenPoint
Diese benutze ich mit <T = int>. Für diese Punktklasse habe ich noch ein paar globale binäre symmetrische Operatoren (+/-) überladen, damit bestimmte Operationen vereinfacht werden. Beispiel operator+():
Code:
   template<class T>
   TGenPoint<T> operator+(const TGenPoint<T>& LValue, const TGenPoint<T>& RValue)
   {
      return TGenPoint<T>(LValue.x + RValue.x, LValue.y + RValue.y);
   }
Komischerweise gibt es keinerlei Probleme dies mit VC6 zu kompilieren und auszuführen. Weil ich aber auf VS 2003 umsteigen muß, habe ich es dort versucht. Das Problem welches jetzt noch bestehen bleibt ist, daß vom Linker alle diese benutzten Operatoren nicht spezialisiert mit <T=int> gefunden werden! Aber wie gesagt: erst vom Linker!

Unter VC6 trat das Problem nie auf und es ist mir ein Rätsel. Die template-Klasse ist zusammen mit den globalen Operatoren direkt in einer Headerdatei deklariert.

Hat jemand eine Lösungsidee?

Danke,
  Mit Zitat antworten Zitat