templates und BCB 6 ?



  • hallo
    ich wollt mit eine tree klasse zusammenbasteln

    template <typename T>
    class Tree
    {
        private:
        protected:
    
        public:
            Tree(Tree<T>* left = NULL, Tree<T>* right = NULL);
    
    // und noch mehr
    

    wenn ich aber dann

    template <typename T>
    Tree<T>::Tree(Tree<T>* left, Tree<T>* right)
    {
    }
    

    in die .cpp datei pake, dann findet der Linker den code nicht mehr. ich krieg eine linker fehler das der die implementation von dem kontruktor nicht findet.
    wenn ich aber alles in die tree.h pake, dann findet er alles.
    woran liegt das ?



  • Templates müssen als inline deklariert werden... (siehe suchen funktion)
    ich selbst habe die Templates im Header belassen ansonsten musst du laut einigen Postern hier, das schlüsselwort "export" in der cpp verwenden.


Anmelden zum Antworten