gpt4 book ai didi

c++ - 在 C++ 模板中,是否允许返回具有特定类型参数的对象?

转载 作者:太空狗 更新时间:2023-10-29 21:30:35 24 4
gpt4 key购买 nike

当我得到一个带有特定类型参数的模板时,是否允许函数返回同一模板但具有不同类型的对象?换句话说,是否允许以下​​内容?

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;
};

如果不允许,我怎么能完成同样的事情呢?

最佳答案

允许。对您的代码示例的一些更正:

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;
};

关于c++ - 在 C++ 模板中,是否允许返回具有特定类型参数的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com