![](/img/trans.png)
[英]Template specialisation of a static function is shown in Doxygen-genered documentation
[英]Doxygen: Moving a static variable documentation inside a function
考慮這個代碼:
#include <string>
namespace MyNamespace
{
/** \brief Error Class */
class Error
{
public :
/** \brief Constructor */
Error ( int in_code, const std::string& in_message );
...
};
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
};
MyNameSpace 已經是 doxygen 組的一部分。 當我生成文檔時,我得到:
Error
類描述SUCCESS
和ERROR_UNKNOWN
是MyNamespace
頁面中的“函數”(奇怪!) 如何標記SUCCESS
和ERROR_UNKNOWN
以顯示在Error
類描述頁面中?
注意:我無法定義一個新組並將兩者都放入,因為我的組列表已凍結(我們希望每個庫一個組)。 “隱藏”組可能是解決方案。
到目前為止,我能找到的最好的“解決方案”是使用\\memberof
。
這個:
/** \memberof Error @{ */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
將Error
類描述的“靜態公共成員函數”下的SUCCESS
和ERROR_UNKNOWN
移動。 這不是很好,因為它們然后與其他真正的靜態公共成員函數混合。 但也添加了一個\\name
標簽......
/** \memberof Error @{ */
/** \name Error values: */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
將在Error
類描述的“相關函數”下的“錯誤值”部分中移動SUCCESS
和ERROR_UNKNOWN
,並帶有一個很好的注釋報告(Note that these are not member functions.)
......這絕對是可以接受的......
在代碼中, SUCCESS
和ERROR_UNKNOWN
不是Error
類的一部分,因此生成的文檔是正確的(撇開“函數”的問題)。
試圖讓 doxygen 將它們顯示為 Error 類的一部分是非常具有誤導性的,因為文檔和代碼現在是矛盾的。
如果您真的希望SUCCESS
成為Error
類的一部分,請在代碼中做到這一點。
或者,這可能是意圖,在Error
類的文檔中,添加類似@see SUCCESS
、 @see ERROR_UNKNOWN
。
這將生成指向這些項目文檔的“另請參閱”注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.