我是一名有用的助手,可以为您翻译文本。
但是,如果我按照以下方式重新排列代码,则调用图消失(正如预期的那样):
那是Doxygen和/或GraphViz的错误吗?还是我漏了什么?(我不想重新排列我的源代码只为了让Doxygen工作。)
所以我开始使用Doxygen 1.8.13(Windows 10,64位)记录一个C++项目,并遇到了GraphViz的调用/调用者图生成问题。
如果使用以下代码生成文档,Doxygen将生成一个看起来像这样的调用图:
但是根据代码显示,Path()没有调用任何函数(空的主体)。struct Path {
Path(const Node* source_node, const Node* target_node,
const unsigned long cost, const std::vector<const Node*> path)
: source_node(source_node), target_node(target_node),
cost(cost), path(path), length(path.size()) { };
void printCompletePath(std::ostream& = std::cout) const;
const Node* source_node = nullptr;
const Node* target_node = nullptr;
const unsigned long cost = 0;
const std::vector<const Node*> path{};
const std::vector<const Node*>::size_type length = 0;
};
但是,如果我按照以下方式重新排列代码,则调用图消失(正如预期的那样):
struct Path {
Path(const Node* source_node, const Node* target_node,
const unsigned long cost, const std::vector<const Node*> path)
: source_node(source_node), target_node(target_node),
cost(cost), path(path), length(path.size()) { };
const Node* source_node = nullptr;
const Node* target_node = nullptr;
const unsigned long cost = 0;
const std::vector<const Node*> path{};
const std::vector<const Node*>::size_type length = 0;
void printCompletePath(std::ostream& = std::cout) const;
};
那是Doxygen和/或GraphViz的错误吗?还是我漏了什么?(我不想重新排列我的源代码只为了让Doxygen工作。)