Announcement

Collapse
No announcement yet.

Probleme bei der Implementierung einer Methode

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme bei der Implementierung einer Methode

    Zur Zeit habe ich ein Problem bei der Implementierung einer Methode außerhalb der Klasse. Innerhalb funktionierts. Ich habe den Code in 3 Compilern getestet. Im Borland C++ Builder 5 und im Visual C++ 6 geht's nicht, beim Visual Studio 2003/2005 schon. Aber hier erstmal mein Code:

    =======================================
    CODE:
    =======================================
    class C_KLASSE
    {
    public:
    template<class Type> void Methode(Type *Object, void(Type::*Pt2Method)(void));
    };

    template<class Type> C_KLASSE::Methode(Type *Object, void(Type::*Pt2Method)(void))
    {
    (Object->*Pt2Method)();
    }
    =======================================

    Hier bringt mir der Borland folgende Fehlermeldung

    [C++ Fehler]Unit1.cpp(15):E2316 'C_KLASSE::Methode(Type *,void(struct::*)())' ist kein Element von 'C_KLASSE'

    und der Visual 6 kann den Code nicht auflösen (unresolved External). Wie schon gesagt, innerhalb der Klasse funktioniert es einwandfrei aber ich will nur sehr ungern eine Zeile Code in meine Header eintragen (um genau zu sein will ich es überhaupt nicht).

    Ich bedanke mich schon mal im Voraus für jegliche Hilfe.

  • #2
    Der Header ist aber dafür verantwortlich dem Compiler mitzuteilen welche Member und Memberfunction die Klasse hat. Also wirst Du wohl nicht drumherum kommen die Zeile in den Header mit aufzunehmen. Das ist nun mal C+

    Comment


    • #3
      Es schmerzt zwar, aber wenns net anders geht. Grummel..

      Comment

      Working...
      X