- Fix link resolution with proper relative/absolute path handling - Improve link styling with underline decoration - Hide leaf nodes from tree, only show directories - Fix log file path for packaged app
32 lines
820 B
Markdown
32 lines
820 B
Markdown
# ResourceDependencyGraph::HasCircularDependency
|
||
|
||
```cpp
|
||
bool HasCircularDependency(ResourceGUID guid, Containers::Array<ResourceGUID>& outCycle) const
|
||
```
|
||
|
||
检测是否存在以指定节点为起点的循环依赖。使用 DFS 遍历依赖图,检测回路。
|
||
|
||
**参数:**
|
||
- `guid` - 起始节点
|
||
- `outCycle` - 输出参数,检测到的循环路径(包含形成环的节点 GUID)
|
||
|
||
**返回:** 如果存在循环依赖则返回 true,否则返回 false
|
||
|
||
**复杂度:** O(n + e)
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
Containers::Array<ResourceGUID> cycle;
|
||
if (graph.HasCircularDependency(guid, cycle)) {
|
||
printf("Circular dependency detected: ");
|
||
for (const auto& g : cycle) {
|
||
printf("%llu ", g.value);
|
||
}
|
||
}
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [ResourceDependencyGraph 总览](dependencygraph.md) - 返回类总览
|