void dfsint lint rint s=0 ifsms return; ifl==r forint i=0;iasize;i++ semplaceai; return; forint i=0;iglsize;i++ aemplace_backgli; dfsglirs+1; C++11哪错了
- 在函数定义中,参数s的默认值应该是一个整数类型的变量,而不是一个集合类型的变量。因此,将s的默认值从0改为一个整数值,例如int s=0。
- 在函数体内,将集合s命名为另一个变量,以免与参数s冲突。例如,将集合s命名为另一个变量,例如set
visited。 - 在递归调用dfs函数时,将参数s改为变量visited,以便正确传递已访问的节点集合。例如,将dfs(g[l][i], r, s + 1)改为dfs(g[l][i], r, visited)。
- 在for循环中,将a.emplace_back(g[l][i])改为a.push_back(g[l][i]),以将节点添加到向量a中。
- 在递归调用dfs函数之前,将a.emplace_back(g[l][i])改为a.push_back(g[l][i]),以将节点添加到向量a中。
- 将集合s.emplace(a[i])改为visited.emplace(a[i]),以将节点添加到已访问的节点集合中。
- 在函数体内,将a.size()改为a.size(),以获取向量a的大小。
原文地址: https://www.cveoy.top/t/topic/ibQA 著作权归作者所有。请勿转载和采集!