c - 在匿名结构中使用宏时出现 Doxygen 警告

标签 c doxygen anonymous-struct

我有一个结构,按照惯例,我需要使用某个宏来声明该类型的变量:

结构:

struct basic_struct {
    int a;
    int b;
};

宏:

#define BASIC_VAR(var_name) struct basic_struct var_name

在匿名结构中使用这个宏时,我遇到了 Doxygen 的问题,如下所示:

struct {
    BASIC_VAR(var_1);
    int var_2;
} my_struct;

我收到 Doxygen 警告:

warning: no uniquely matching class member found for BASIC_VAR(var_1)

时间:

1) 删除宏

struct {
    struct basic_struct var_1;
    int var_2;
} my_struct;

2) 不使用匿名结构

 struct my_struct_t {
    BASIC_VAR(var_1);
    int var_2;
} my_struct;

我没有收到任何警告。 但是我必须使用宏,而且我更喜欢继续使用匿名结构,我可以使用任何 Doxygen 命令来避免此警告吗?

最佳答案

我认为您需要在 Doxyfile 中将 MACRO_EXPANSION 设置为 YES 以便 Doxygen 扩展您的宏。参见 http://www.doxygen.nl/manual/preprocessing.html

此外,您可能需要将宏添加到 PREDEFINED 标记。

关于c - 在匿名结构中使用宏时出现 Doxygen 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965296/

相关文章:

c - 从子进程获取到父进程的路径

c - Doxygen:如何重新定义 void

c - 通过函数 : FILE* or FILE**? 的 FILE* 数组

c - 从文件中读取结构内的结构

python - Python 的 Doxygen : one paragraph to document both file and package

c++ - 在 C++ 中处理 C 库匿名结构类型

在嵌套匿名结构上忽略 C++ 私有(private)修饰符

你能声明一个命名结构的匿名实例吗?

检查数字中的每个数字是否奇数

c++ - doxygen 与 IDL/ODL