This is my class
template <typename TValue, typename TPred = std::less<TValue> > class BinarySearchTree { public: BinarySearchTree<TValue, TPred> &operator=(BinarySearchTree<TValue, TPred> const &tree) { if (this != &tree) { tree.VisitInOrder(Insert); } return *this; } bool Insert(TValue const &value) { return m_Insert(value, pRoot); } template <typename TVisitor> void VisitInOrder(TVisitor visitor) const; ... };
and the following sequence does not work: VisitInOrder(Insert) , because my compiler says that there are no arguments
but my main one looks like this and there I can use the function without its arguments:
void Print(int const x) { cout << x << endl; } int main() { BinarySearchTree<int> obj1, obj2, obj3; obj1.Insert(10); obj1.VisitInOrder(Print); return 0; }
full code here: http://pastebin.com/TJmAgwdu
source share