Bonjour,
J'ai une classe template nommée QUADTREE.
Dans cette classe, j'ai une structure privée nommée CELL.
Dans cette classe, j'ai une méthode privée GET_CELL, retournant une référence vers CELL.
Code :
- template <class type>
- class Quadtree
- {
- private:
- struct Cell
- {
- ...
- };
- Cell& get_cell(...);
- ...
- };
|
Lorsque je veux déclarer le code de la méthode, j'ai un problème lié au fait que le type retourné est privée et appartient à une classe template.
Voici ce que je pensais être bon :
Code :
- template <class type>
- Quadtree<type>::Cell&
- Quadtree<type>::get_cell(Cell& cell, const Coord_2D<float>& location)
- {
- ...
- }
|
En l'état, j'ai l'erreur suivante :
Code :
- error: need 'typename' before 'Quadtree<type>::Cell' because 'Quadtree<type>' is a dependent scope
|
J'ai essayé comme ceci :
J'obtiens :
Code :
- error: invalid use of template-name 'Quadtree' without an argument list
|
J'ai essayé comme ceci :
Code :
- Quadtree<class type>::Cell&
|
J'obtiens :
Code :
- error: using template type parameter 'type' after 'class'
- error: template argument 1 is invalid
|
Et enfin j'ai essayé comme ceci :
J'obtiens :
Code :
- error: 'Cell' does not name a type
|
Pourriez-vous m'indiquer la bonne syntaxe ? Le compilateur est GCC 4.5
Je vous remercie par avance !