Anzeige:
Ergebnis 1 bis 2 von 2

Thema: [C++/Templates] Methode fuer speziellen Templatetyp seperieren

  1. #1
    Registrierter Benutzer Avatar von r00t043
    Registriert seit
    11.01.2004
    Beiträge
    38

    [C++/Templates] Methode fuer speziellen Templatetyp seperieren

    Hallo,
    ich hab da mal ein Problem:

    Code:
    template < class T >
    void
    ComplexNumber< T >::print(void) const
    {
    	printf ("sorry, no print function for this datatype implemented");
    }
    
    
    void 
    ComplexNumber< int >::print(void) const
    {
    	printf ("%d + i * %d", _real, _imaginary);
    }
    so funktionierts nicht, denn:
    Code:
    multiple definition of `ComplexNumber<int>::print() const'
    Aber mir hat mal jemand erzaehlt, wage ich mich zu erinnern, das man methoden fuer spezielle Typen vorgeben kann, die dann bevorzugt genommen werden.
    Reihenfolge veraendern hat auch nicht funktioniert und Dokumentation hab ich auch nirgends dazu gefunden.

    Hat jemand das Problem verstanden, oder gar eine Loesung dafuer?

  2. #2
    Registrierter Benutzer
    Registriert seit
    24.09.2005
    Beiträge
    66
    Du bist ziemlich nah dran, allerdings musst du bei der Template-Spezialisierung auch das template-keyword mit einer leeren Parameterliste davorstellen:
    Code:
    template <> void 
    ComplexNumber< int >::print(void) const
    { [...]

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •