Bonjour à tous,
je me trouve ennuyé par la fonction template suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
template <typename V, typename E>
bool contains(const V& v, const E& e) {
	V::const_iterator it;
 
	for (it = v.begin(); it != v.end(); ++it)
		if ((*it) == e) return true;
 
	return false;
}
Le problème est que le const_iterator n'est pas reconnu ...
(Cette fonction ne prendra que des vector stl en premier paramètre)

J'ai également essayé cela sans succés :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
template <typename T>
bool contains(const vector<T>& v, const T& e) {
 
	vector<T>::const_iterator it;
 
	for (it = v.begin(); it != v.end(); ++it)
		if ((*it) == e) return true;
 
	return false;
}
Cette fois, la compile exige de connaître T :
error: ISO C++ forbids declaration of `vector' with no type
quelqu'un aurait-il une idée ?

Merci d'avance ..