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
,这不是特别令人满意......
答案 0 :(得分:1)
为什么在您要记录的符号正好位于注释区后使用@fn
?根本不需要。
如果你以某种方式无法抑制使用@fn
的冲动,那么你应该确实将参数与声明匹配(或者你可以将注释块移动到函数定义中)。
有关详细信息,请参阅http://www.doxygen.org/manual/docblocks.html#structuralcommands
使用函数指针时,通常最好先键入它们。