Циркуляционное определение шаблонных структур или классов - PullRequest
0 голосов
/ 12 июля 2020

Я реализую простой класс графа, используя структуру данных списка смежности. edge содержит vertex, а vertex взамен содержит edge. Я наконец дошел до этой реализации. Из-за параметров шаблона код немного повторяется. Есть ли способ упростить это?

template <typename T>
struct Edge;

template <typename T>
struct Vertex;

template<typename T>
struct Edge {
    Vertex<T>* toVertex;
    Edge<T>* nextEdge;
};

template <typename T>
struct Vertex {
    T value;
    Edge<T>* firstEdge;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...