0

我注意到 Doxygen 的一些错误。实际上,当我使用调用函数运行 html 文档时,一些调用函数没有在图中表示,也没有在代码中链接。当具有以下配置的类向量调用函数时,会出现此问题:

std::vector<myClass*> vect;
...
vect[i]->myFunction();

或者

oneClass = vect[i];
oneClass->GetSubClass()->otherFunction();

std::vector<...>::iterator和也是同样的问题(*..)

Doxygen 不考虑]->)->,不链接相关功能。

我的问题是:是否有任何版本的工具修复了这些错误?

我们可以通过修改代码来绕过这个问题,我更喜欢自动发出问题。

感谢,

苏利文

4

3 回答 3

0

当然,doxygen 不是 C++ 编译器。因此,doxygen 并不了解 C++ 的每一个细微差别和特性。这不是一个错误,因为 doxygen 根本不是为 C++ 设计的 100% 解析器。而且只有 100% 的 C++ 解析器,例如 C++ 编译器,才能理解语言的每个部分。doxygen 将尝试获取明显的依赖关系和函数调用,并记录它们,但它无法在每种情况下都注册它们。

如果当前版本的 doxygen 没有提取并注册特定的调用序列,则不太可能是回归。doxygen 根本做不到。

于 2016-09-19T10:57:40.890 回答
0

有关信息,此问题存在于:

如果(某物()== vect[i]->myFunction())

并与:

if(vect[i]->myFunction() == something())

并在使用 vect.at(i) 时使用向量迭代器

于 2016-09-21T13:15:23.297 回答
0

谢谢您的回答。为了给这个问题发送一个简单的问题,可以在这个函数之前添加:

标准::向量向量;... for(int bidon = 0; bidon<1; bidon++) vect[i]->myFunction();

一个简单的程序可以做到这一点,并且文档是正确的。在这种情况下,Doxygen 考虑了与具有类向量的函数的链接。

于 2016-09-21T13:09:00.160 回答