【发布时间】:2013-10-18 18:26:54
【问题描述】:
我正在使用 Doxygen 为我当前的项目生成一个 API,并且发生了一些奇怪的行为。基本上,如果我使用初始化列表在类的构造函数中设置成员数组,Doxygen 不会产生正确的输出。
这是一个简单的测试类:
#ifndef TEST_HPP
#define TEST_HPP
class TestClass {
public:
/** Constructor Version 1 */
TestClass() : v{0,0,0} { }
/** Constructor Version 2 */
// TestClass() {
// v[0] = 0;
// v[1] = 0;
// v[2] = 0;
// }
protected:
/** my little array */
float[3] v;
};
#endif // TEST_HPP
如果我在构造函数版本 1 的文件上运行 doxygen,我会得到一个相对空的 HTML 文件,该类没有构造函数文档,也没有提及我的变量 v。如果我注释掉版本 1 并使用版本 2, Doxygen 为该类正确生成文档。
我知道这种类型的数组设置对 C++11 来说是新的,但它是初始化还是它在初始化列表中完成的事实?如果有人知道导致这种行为的原因,我将不胜感激,因为我们在整个代码中都使用了这些类型的初始化程序,并且我希望在必要时避免进行彻底的更改。
【问题讨论】:
-
你用的是哪个版本的氧气?
-
@DavidHammen 我正在使用来自 apt-get 的 doxygen 1.7.6.1
标签: c++ doxygen initialization-list