Когда у меня есть шаблон с определенными параметрами типа, разрешено ли функции возвращать объект этого же шаблона, но с разными типами? Другими словами, разрешено ли следующее?
template<class edgeDecor, class vertexDecor, bool dir>
Graph<edgeDecor,int,dir> Graph<edgeDecor,vertexDecor,dir>::Dijkstra(vertex s, bool
print = false) const
{
/* Construct new Graph with apropriate decorators */
Graph<edgeDecor,int,dir> span = new Graph<edgeDecor,int,dir>();
/* ... */
return span;
};
Если это не разрешено, как я могу выполнить то же самое?