単純な std::find_if() のような関数を実装して使用しようとしています (宿題で使用することは許可されていません)。
これは私の実装です:
template<class Iterator, class Function>
Iterator setFindIf(Iterator first, Iterator end, Function predicate) {
for (Iterator iterator = first; iterator != end; ++iterator) {
if (predicate(*iterator)) {
return iterator;
}
}
return end;
}
これは、setFindIf() を呼び出す行です。
if (setFindIf(orders.begin(), orders.end(),
orderCustomerHasOpenOrder(id, ordNum)) != orders.end()) {
そして、これはエラーです:
undefined reference to `std::_Rb_tree_const_iterator<Order> setFindIf<std::_Rb_tree_const_iterator<Order>, orderCustomerHasOpenOrder>(std::_Rb_tree_const_iterator<Order>, std::_Rb_tree_const_iterator<Order>, orderCustomerHasOpenOrder)'
ヘルパーに感謝します。