C++ 记录typedef';使用dOxygen指定指针的d结构?

C++ 记录typedef';使用dOxygen指定指针的d结构?,c++,c,struct,doxygen,typedef,C++,C,Struct,Doxygen,Typedef,我有一个结构类似于: /** * Typical dOxygen brief about the typedef. Longer description follows. */ typedef struct _SOME_STRUCT_TAG { int var1; /**< Something useful. */ int var2; /**< something equally useful. */ } SOME_STRUCT_T, *LPSOME_STRUCT_

我有一个结构类似于:

/**
*  Typical dOxygen brief about the typedef. Longer description follows.
*/
typedef struct _SOME_STRUCT_TAG {
    int var1; /**< Something useful. */
    int var2; /**< something equally useful. */
} SOME_STRUCT_T, *LPSOME_STRUCT_T /**< A post doc the pointer here. Longer description follows */;
/**
*关于typedef的典型dOxygen简介。下面是更详细的描述。
*/
typedef struct\u一些结构标记{
int var1;/**<一些有用的东西*/
int var2;/**<一些同样有用的东西*/
}SOME_STRUCT,*LPSOME_STRUCT/**
我已经启用了项目选项TYPEDEF_HIDES_STRUCT

我希望文档创建两个单独的条目:一个用于指针typedef,另一个用于非指针typedef。目前,我似乎只有一个指针typedef


我做错了什么?我也愿意接受一般的语法建议。注意这是一个C库,不是C++。dOxygen似乎在处理包含多个语句的
typedef
(即
typedef int var\t,*pvar\t
)时遇到问题。

IIRC,dOxygen根本不支持在一个声明中为多个标识符编写不同的文档。所以把他们分开

而不是

int a, b, c;
使用

而不是

typedef struct _SOME_STRUCT_TAG {
    int var1; /**< Something useful. */
    int var2; /**< something equally useful. */
} SOME_STRUCT_T, *LPSOME_STRUCT_T;
typedef struct\u一些结构标记{
int var1;/**<一些有用的东西*/
int var2;/**<一些同样有用的东西*/
}SOME_STRUCT,*LPSOME_STRUCT;
使用

typedef struct\u一些结构标记{
int var1;/**<一些有用的东西*/
int var2;/**<一些同样有用的东西*/
}一些结构;
键入def SOME_STRUCT*LPSOME_STRUCT;
还请注意,您正在为struct和typedef名称使用保留字,这不仅会给doxygen带来麻烦


此外,这种为指针使用透明typedef名称的做法是一种糟糕的风格。如果指针类型是一个不透明的句柄,客户端永远看不到底层类型,甚至不知道句柄是指针(与表索引或其他键相反),请使用typedef。如果客户机直接使用该结构,那么当你说“保留字”时,让他们使用
一些\u STRUCT\T*

你是在说前导下划线吗?此外,我同意指针注释的名称。我实际上是在试图把它们删除,但是这是一个有多个贡献者的项目,一个是很有附加的。@ BimBurg:是的,在全局命名空间中的名字从“代码> >代码>或结束在< C++ >代码> >中保留。这是C++和C.之间的许多区别之一。
typedef struct _SOME_STRUCT_TAG {
    int var1; /**< Something useful. */
    int var2; /**< something equally useful. */
} SOME_STRUCT_T, *LPSOME_STRUCT_T;
typedef struct _SOME_STRUCT_TAG {
    int var1; /**< Something useful. */
    int var2; /**< something equally useful. */
} SOME_STRUCT_T;
typedef SOME_STRUCT_T *LPSOME_STRUCT_T;