Doxygen会在私有union属性上生成错误的LaTeX代码

时间:2014-07-22 08:26:39

标签: latex doxygen

给出以下C ++代码

class Foo {
  private:
    union { int x; char y; } v;
  public:
    int get_int() { return v.x; }
};

和标准配置文件(除了EXTRACT_PRIVATE=YES之外),doxygen版本1.8.6为Foo的私有属性生成了错误的LaTeX代码。更准确地说,tex文档的相关片段如下:

\hypertarget{unionFoo_1_1@0_a16eddb7296c37d91335845d7b847c6b3}{\>int {\bfseries x}\\
\hypertarget{unionFoo_1_1@0_ae4b5d1d732df4608dbc4871c55b7f4b2}{\>char {\bfseries y}\\

\hypertarget的第二个参数缺少右括号}

EXTRACT_ALL=YES之外设置EXTRACT_PRIVATE=YES会产生正确的输出。行为是否在Doxygen中的错误之上,或者我是否应该仅在EXTRACT_PRIVATE=YES时使用EXTRACT_ALL=YES?关于这两个选项之间潜在的依赖性的文档不是很清楚,如果是这样的话,Doxygen至少应该警告不一致。

0 个答案:

没有答案