C++ 在Doxygen中记录回调typedefs
我有以下类型的定义:C++ 在Doxygen中记录回调typedefs,c++,doxygen,typedef,C++,Doxygen,Typedef,我有以下类型的定义: typedef void( __cdecl *tCallback )( const char* Message ); 我如何使用Doxygen正确记录这些信息 我希望记录tCallback和预期参数 一个简单的例子: /// \typedef test typedef test bool 以强氧产生正确的输出 //typedef tCallback typedef void( __cdecl *tCallback )( const char* Message ); 产
typedef void( __cdecl *tCallback )( const char* Message );
我如何使用Doxygen正确记录这些信息
我希望记录tCallback和预期参数
一个简单的例子:
/// \typedef test
typedef test bool
以强氧产生正确的输出
//typedef tCallback
typedef void( __cdecl *tCallback )( const char* Message );
产生:
C:/test.cpp:2: warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)
C:/test.cpp:1: warning: member with no name found.
及
生成与上述内容相同的内容。将以下内容添加到您的Doxyfile中:
PREDEFINED = __cdecl=
这将导致Doxygen出于文档编制的目的忽略此标识符。的可能重复项,这表明您可能需要正确限定typedef名称,如果它位于命名空间内或嵌套在另一个typeNot重复项中,因为该问题要求简单的typedef,而不是像这样复杂的typedef。答案没有帮助,我先搜索了一下。有人想告诉我为什么投票要结束吗?这里没有复制品。上面指出的重复是针对名称空间中的简单typedef,名称空间导致了问题。这个问题是无关的。@gbrandt这似乎是问题@Ben linked的重复。为什么复杂的typedef会有不同的行为?你能用一个例子来更新你的问题吗?显示它使用非函数指针typedef吗?@gbrandt如果你删除u cdecl,问题会重现吗?更好的是(在我的例子中)在某些情况下使用“预定义=u cdecl:=”,这样就不能重新分配u cdecl。一个小精度:你需要激活宏扩展(宏扩展=是)同样,或预定义不会有任何影响。但是,您的文档将不会显示正确的回调签名,对吗?文档中不会显示_cdecl,如果用户从文档而不是从标题复制签名,则可能会导致问题(至少是编译器错误)。在我看来,应该有一种方法让文档以与代码中相同的方式显示typedef。@dlchambers:调用约定受编译器选项的影响,但文档也不显示这些选项。
PREDEFINED = __cdecl=