2016-09-19 19 views
0

Doxygenにいくつかのバグがあります。実際、コール関数を使用してhtmlドキュメントを実行すると、グラフ内にはいくつかの呼び出し関数が表されず、コード内でリンクされません。 この問題は、関数がこれらの構成を持つクラスのベクターによって呼び出されるときに発生:Doxygen(WindowsプラットフォームとC++コード)の呼び出し関数のバグ

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

又は

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

それはstd::vector<...>::iterator(*..)と同じ問題です。

Doxygenは、]->)->を考慮しておらず、関連する機能をリンクしていません。

私の質問です:これらのバグが修正されたツールのバージョンはありますか?

この問題を解決するには、コードを変更して自動問題があることをお勧めします。

感謝、

Sulivan

答えて

0

doxygenには、もちろん、ないC++コンパイラです。このように、doxygenはC++のあらゆるニュアンスと機能を理解していません。これはバグではありません。つまり、doxygenはC++の100%パーサではないという意味でです。また、C++コンパイラなどの100%C++パーサだけが、言語のあらゆる部分を理解することができます。 doxygenは明白な依存関係や関数呼び出しをピックアップして文書化しようとしますが、すべての状況でそれらを登録することはできません。

doxygenの現在のバージョンが特定の呼び出しシーケンスを取得して登録しない場合、回帰する可能性は低いです。 doxygenは単にそれを行うことはできません。

0

ありがとうございます。 この問題の簡単な問題を送信するには、この関数の前に追加することができます。

std :: vector vect; ... for(int bidon = 0; bidon < 1; bidon ++)vect [i] - > myFunction();

簡単な手順でこれを行うことができ、ドキュメントが正しいです。この場合、Doxygenは、クラスのベクトルを持つ関数とのリンクを考慮に入れます。

0

情報については、この問題はで存在する:

場合(何か()== vectを[I] - > MyFunctionを())

とで動作します(vectを[I場合

- > myFunction()== something())

vect.at(i)を使用した場合のベクトルイテレータ

関連する問題