Je voulais créer une structure similaire à celle-ci:méthodes de classe imbriquées C++
template <typename W>
class Graph {
public:
struct Vertex {
std::vector<typename Graph<W>::Vertex> next() {
return GetNext((*this));
}
};
virtual std::vector<typename Graph<W>::Vertex> GetNext(Vertex v) = 0;
};
(ne regardez pas les champs manquants etc.)
J'ai essayé quelque chose comme ça, mais il donne tout types d'erreurs, y compris les erreurs de syntaxe ou "impossible d'instancier" même pensé que je tente d'instancier une classe dérivée qui a GetNext surchargé. Question: est-ce que cette structure est même autorisée en C++ et comment l'implémenter correctement?
intérieur 'Vertex' (et donc à l'intérieur de' 'Graph), vous pouvez simplement utiliser' Vertex' au lieu de 'typename Graphique :: Vertex'. –
Jarod42