4
這是我的課使用函數指針
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;
...
};
的選擇,並按照以下順序不會工作:VisitInOrder(Insert)
,因爲我的編譯器說有爭論缺少
,但我的主要看起來像這樣在那裏我可以使用函數沒有它的參數:
void Print(int const x) { cout << x << endl; }
int main() {
BinarySearchTree<int> obj1, obj2, obj3;
obj1.Insert(10);
obj1.VisitInOrder(Print);
return 0;
}
完整的代碼在這裏:http://pastebin.com/TJmAgwdu
@Praetorian:哎呀: )編輯,謝謝! –
感謝,偉大的作品 – schreda
@schreda:很高興幫助 –