Bonjour tout le monde,
Pour mon projet actuel, j'ai d� cr�er un conteneur personnalis�.
Je souhaite maintenant faire une fonction g�n�rique permettant de faire la conversion entre les conteneurs de la stl (vector, set).
Voici ce que donne la classe (en simplifi�e bien s�r):
Ce bout de code compile. Le probl�me c'est que je ne sais pas comment l'appeler... ce qui peut �tre un peu probl�matique
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <vector> template <typename AClass> class GenClass { private: std::vector <AClass*> m_datas; public: template<template <typename T> class Container> void convertToGenClass(const Container<AClass*>& myContainer) { m_datas.reserve(myContainer.size()); for (typename Container<AClass*>::const_iterator it = myContainer.begin(); it != myContainer.end(); ++it) { //other treatments done here // ... m_datas.push_back(*it); } } };
Voici comment je proc�de:
J'ai essay� de mettre <std::vector> ou <std::vector<int> > apr�s convertToGenClass mais rien ne change.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 int main() { std::vector<int*> testVector; GenClass<int> myVector; int val = 42; testVector.push_back(&val); myVector.convertToGenClass(testVector); return 0; }
Savez-vous comment compiler ce genre de code?
Y-a-t-il une fa�on plus �l�gante pour traiter ce genre de conversion?
Merci pour tout!
Partager