I am trying to use the for_each from stl algorithm.

#include <algorithm>
#include <vector>
#include <iostream>

	template <typename T>
	void OutputObject(const T &obj)
		cout << obj << endl;
	template <typename T>
	void OutputVector(const vector<T> &V)
		for_each (V.begin(), V.end(), OutputObject);
		cout << endl;

I get "no matching function call to for_each". Why would that be?


Recommended Answers

All 2 Replies

You need to instantiate the OutputObject template: for_each (V.begin(), V.end(), OutputObject<T>);

ah cool. thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.