我有一个结构,按照惯例,我需要使用某个宏来声明该类型的变量:
结构:
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/