gpt4 book ai didi

c++ - 为什么 C++ 不允许这个默认值?

转载 作者:太空狗 更新时间:2023-10-29 23:34:36 25 4
gpt4 key购买 nike

为什么 GCC 不允许在这里使用默认参数?

 template<class edgeDecor, class vertexDecor, bool dir>
Graph<edgeDecor,int,dir> Graph<edgeDecor,vertexDecor,dir>::Dijkstra(vertex s, bool print = false) const
{

这是我得到的输出:

graph.h:82: error: default argument given for parameter 2 of ‘Graph<edgeDecor, int, dir> Graph<edgeDecor, vertexDecor, dir>::Dijkstra(Vertex<edgeDecor, vertexDecor, dir>, bool)’
graph.h:36: error: after previous specification in ‘Graph<edgeDecor, int, dir> Graph<edgeDecor, vertexDecor, dir>::Dijkstra(Vertex<edgeDecor, vertexDecor, dir>, bool)’

谁能看出我为什么会收到这个?

最佳答案

您似乎已经在 graph.h 的第 36 行中声明了函数(包括默认参数)。不要在函数实现中重复默认值,在声明就足够了。

关于c++ - 为什么 C++ 不允许这个默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496742/

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