Doxygen(1.8.10)抱怨說我的字符串的值沒有記錄。以下是一個演示問題Doxygen無證字符串值
#include <string>
struct MyStruct ///< Docs for struct
{
std::string a; ///< Docs for a
std::string b; ///< Docs for b
};
class MyClass ///< Docs for class
{
static struct MyStruct instance; ///< Docs for instance
};
struct MyStruct MyClass::instance = {"firstVal", "secondVal"};
這將導致警告
/tmp/example.cpp:10: warning: Member firstVal (variable) of class MyClass is not documented.
如果我減少結構的單一成員,從初始化,然後警告消失後刪除「secondVal」一個小例子,但顯然這不是一個解決方案...
它是否適用於通用初始化?我認爲這應該是'struct MyStruct MyClass :: instance {{「firstVal」,「secondVal」}};' –
_almost_工作,並導致我工作的解決方案(假設C++ 11/GCC 4.4或更高版本,我很喜歡更便攜的解決方案)。 'struct MyStruct MyClass :: instance {{「firstVal」},{「secondVal」}};'(每個字符串都在它自己的一組花括號中)。編譯器實際上會接受@AndrewLazarus的這個玩具例子的例子,但它似乎在調用錯誤的構造函數!編譯器警告是你的朋友,因爲它觸發了第二個參數的'-Wmissing-field-initializers'(-Wextra'的一部分)... – Alec