【发布时间】:2014-06-28 00:16:20
【问题描述】:
Doxygen (1.8.6) 不会解析这个,对我来说:
/**
@fn dynArray* dynMap(dynArray* array, void*(*callback)(void**, size_t, dynArray*))
@brief foo
@param array bar
@param callback baz
blah blah blah
*/
extern dynArray* dynMap(dynArray*, void*(*)(void**, size_t, dynArray*));
我做错了什么,还是这是一个错误?我注意到如果我从文档中删除参数名称,它会编译,尽管不正确(它会破坏参数)。但是,如果我将文档与签名完全匹配,它确实工作:
/**
@fn dynArray* dynMap(dynArray* array, void*(*callback)(void**, size_t, dynArray*))
@brief foo
@param array bar
@param callback baz
blah blah blah
*/
extern dynArray* dynMap(dynArray* array, void*(*callback)(void**, size_t, dynArray*));
但是,我在函数的类型定义中得到了array 和callback,这并不是特别令人满意...
【问题讨论】:
-
如果你为函数指针类型定义了一个typedef,并在函数的声明中使用它会发生什么? (在这种情况下使用 typedef 还有其他好处,即可读性。)
-
为了便于阅读,我将使用 typedef。感谢您的想法:)
标签: c function-pointers doxygen