我目前正在使用Doxygen记录我的代码。看起来好像Doxygen无法处理模板化的返回值。我的问题:
/**
* Retrieves all edges from the graph.
* @param gID The ID of the graph.
* @return A list containing pairs of vertices, denoting the edges in the graph.
*/
int GetEdges(const int& gID); // Works fine
/**
* Retrieves all edges from the graph.
* @param gID The ID of the graph.
* @return A list containing pairs of vertices, denoting the edges in the graph.
*/
list<pair<int,int>> GetEdges(const int& gID); // PROBLEM
第二个功能没有记录。更糟; Doxygen现在跳过它下面的所有功能。以某种方式,doxygen似乎无法处理list<pair<int,int>>
返回值。
有人知道为什么以及如何改变这个?提前谢谢。
答案 0 :(得分:3)
也许Doxygen不支持声明模板的新方法?较旧的C ++标准(我认为是C ++ 03),仅允许list<pair<int,int> >
。在末尾的两个>
符号之间应该有一个空格,否则编译器会将它们解释为>>
(右移)运算符。
一些较新的编译器会重新定义这种语法,它是即将推出的C ++ 0x标准的一部分,但也许doxygen还没有识别它。